简单的问题当保存到plist然后检索时,NSArrays会保持排序吗?
当我从我的plist中检索我的数组时,我有一个排序问题,所以我很好奇。
我认为这条线路也可能存在问题。这些是否按照titleArr?
的顺序维护标题的顺序NSMutableArray *allTitles = [[NSMutableArray alloc] init];
[allTitles addObjectsFromArray:titles];
[allTitles addObjectsFromArray:titleArr];
我如何保存到plist
imageInfo = [[NSMutableArray array] init];
NSMutableArray *Listing = [NSMutableArray array];
[imageInfo addObject:Listing];
NSDictionary *Images = [NSDictionary dictionaryWithObjectsAndKeys:
allTitles, kKeyTitle,
allMediaUrls, kKeyThumbUrl,
allWidths, kKeyThumbWidth,
allHeights, kKeyThumbHeight,
nil];
[Listing addObject:Images];
NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory ,NSUserDomainMask, YES);
NSString *documentsDirectory = [sysPaths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"image.plist"];
NSLog(@"Plist File Path: %@", filePath);
BOOL didWriteToFile = [imageInfo writeToFile:filePath atomically:YES];
if (didWriteToFile) {
NSLog(@"Write to .plist file is a SUCCESS!");
} else {
NSLog(@"Write to .plist file is a FAILURE!");
}
答案 0 :(得分:1)
如果titles
和titleArr
的排序比allTitles
还要排序,则为是。
首先添加标题的所有对象,并且将titleArr
添加为addObjectsFromArray
方法,因为plist
方法开始在接收数组的末尾添加对象数组。
以下是来自Apple Docs
的更多信息将另一个给定数组中包含的对象添加到 接收数组的内容。
所以是{{1}}将排序数组。
答案 1 :(得分:0)
严重错误:
imageInfo = [[NSMutableArray array] init];
[NSMutableArray array]返回初始化和自动释放的数组。 向该阵列发送init消息不是一个好主意。