试图对字典数组进行排序。plist 文件中有两个数组,我正在尝试对其中一个进行排序,但遇到了很多麻烦。我可以将字典提取到 NSArray 中并对文件进行排序。
我只能通过提取字典来做到这一点,所以当我尝试将信息保存回 plist 时,我丢失了我的结构和其他字典数组。如何正确排序数组。我知道我正在提取数组,然后将其保存为自己的文件。我看到我做错了什么,但无法弄清楚正确的方法。
NSArray *array = [dict valueForKey:@"Lighting"];
NSSortDescriptor* nameSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Controller Zone" ascending:YES];
NSArray* sortedArray = [array sortedArrayUsingDescriptors:[NSArray arrayWithObject:nameSortDescriptor]];
NSString *pathToFileExportSorted = @"/Users/scott/Desktop/plistPreSEsorted.plist";
[sortedArray writeToFile:pathToFileExportSorted atomically: YES];
我已经尝试过这样的事情,但也无法让它工作
[array sortUsingDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"Lighting.Controller Zone" ascending:YES]]];
我只想按“控制器区域”对阵列照明进行排序,并保持 plist 不变。
谢谢你的帮助。
原始数据:
我目前正在导出的内容没有照明和阴影阵列。数组现在是 plist 中唯一的东西。