首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存未知数量的NSArrays

保存未知数量的NSArrays
EN

Stack Overflow用户
提问于 2014-02-07 05:15:50
回答 2查看 83关注 0票数 1

我想制作一个iOS应用程序,用户可以在其中存储基本对象的列表。这些对象只具有类似于3-4个属性的属性。

用户可以创建尽可能多的这些列表(NSArray)。

我有两个问题:

  1. 我将如何将这些NSArrays保存到磁盘?有些人说要用NSUserDefaults,有些人说要用NSKeyedArchiver.
  2. 跟踪这些数组的最佳方法是什么?使用数组来存储这些数组是否明智?

提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2014-02-07 05:33:53

如果数组包含所有属性列表对象(NSStringNSDataNSDateNSNumberNSArrayNSDictionary对象),则可以直接将数组(或数组)保存到plist或用户默认值。

如果数组中有任何非属性列表对象,则需要遵循NSCoding协议并使用NSKeyedArchiver

属性列表更容易。

票数 1
EN

Stack Overflow用户

发布于 2014-02-07 05:39:12

代码语言:javascript
复制
        //Initialize an array with 3 objects and store to NSUserDefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *arrayOfUserA = [[NSArray alloc] initWithObjects:@"Obj1", @"Obj2", @"Obj3", nil];
[defaults setValue:arrayOfUserA forKey:@"arrayOfUserA"];
[defaults synchronize];

//Get the array back, modify and save again
arrayOfUserA = [defaults valueForKey:@"arrayOfUserA"];
NSMutableArray *modifiedArray = [[NSMutableArray alloc] initWithArray:arrayOfUserA copyItems:YES];
[modifiedArray addObject:@"Obj4"];
arrayOfUserA = [modifiedArray copy];
[defaults setValue:arrayOfUserA forKey:@"arrayOfUserA"];
[defaults synchronize];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21619890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档