2011-09-19 81 views
1

假設我有一個plist文件,並且我想壓縮它。我有一個加載這個壓縮文件的方法,將其解壓縮並將結果放入一個NSString中。iPhone - 用壓縮的plist文件的內容填充數組

我如何可以將那的NSString成簡單,因爲它可以與那些行來時的plist沒有壓縮的數組:

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"]; 
NSArray* arrayOfDatas = [NSArray arrayWithContentsOfFile:filePath]; 

回答

2

文件讀入到一個NSData然後使用:

+ (id)propertyListWithData:(NSData *)data options:(NSPropertyListReadOptions)opt format:(NSPropertyListFormat *)format error:(NSError **)error 

其中NSPropertyListFormatNSPropertyListBinaryFormat_v1_0

創建於NSData寫出來就是:

+ (NSData *)dataWithPropertyList:(id)plist format:(NSPropertyListFormat)format options:(NSPropertyListWriteOptions)opt error:(NSError **)error 

實施例(未測試):

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"]; 
NSData *data = [NSData dataWithContentsOfFile:filePath]; 
NSError *error; 
NSArray* plist = [NSPropertyListSerialization propertyListWithData:data options:NSPropertyListImmutable format:NULL error:&error]; 

NSData *propertyListSerializedData = [NSPropertyListSerialization dataWithPropertyList:plist format:NSPropertyListBinaryFormat_v1_0 options:0 error:&error]; 
[propertyListSerializedData writeToFile:filePath atomically:YES]; 
相關問題