将具有多个属性的可变数组保存到 plist
Posted
技术标签:
【中文标题】将具有多个属性的可变数组保存到 plist【英文标题】:Save a mutable array with multiple properties to a plist 【发布时间】:2012-06-20 19:52:25 【问题描述】:我有一个可变数组,其中包含大约 100 个对象,每个对象都有三个属性。 我无法将其保存到 plist 中??我可以保存一个只有没有属性的对象的数组,但是单个属性的东西给我带来了问题。 有什么建议么? 另外,保存到 plist 是最好的方法吗? 提前致谢。
【问题讨论】:
【参考方案1】:您可以将 NSDictionary 存储在 NSDictionary 中,或者您的意思是一个包含 NSDictionary 的 NSArray?
NSMutableArray *myArray = [[NSMutableArray alloc] init];
NSMutableDictionary *myDict1 = [[NSMutableDictionary alloc] init];
[myDict1 setValue:@"string 1" forKey:@"item_1"];
[myDict1 setValue:@"string 2" forKey:@"item_2"];
[myDict1 setValue:[NSNumber numberWithInt:10] forKey:@"item_3"];
// add the array 3 times
[myArray addObject:myDict1];
[myArray addObject:myDict1];
[myArray addObject:myDict1];
NSLog(@"%@", myArray);
// write to plist
[myArray writeToFile:@"/tmp/array_with_dict.plist" atomically:YES];
// dict inside dict
NSMutableDictionary *mainDict = [[NSMutableDictionary alloc] init];
[mainDict setValue:myDict1 forKey:@"dict_1"];
// write to plist
[mainDict writeToFile:@"/tmp/dict_with_dict.plist" atomically:YES];
【讨论】:
以上是关于将具有多个属性的可变数组保存到 plist的主要内容,如果未能解决你的问题,请参考以下文章