将具有多个属性的可变数组保存到 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的主要内容,如果未能解决你的问题,请参考以下文章

使用可变数组从 Plist 加载表视图中的部分时遇到问题

可变数组(PLSQL)

如何声明和定义具有多个可变长度数组的结构?

从C中的函数返回具有多个可变长度数组的结构

集合

集合