在 上viewDidLoad
,我的应用程序填充 NSMutableArray arrayOfHaiku
,它是一个NSDictionary
项目数组,如下所示:
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //1
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"haiku.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath: path])
{
NSString *bundle = [[NSBundle mainBundle] pathForResource:@"haiku" ofType:@"plist"];
[fileManager copyItemAtPath:bundle toPath: path error:&error];
}
self.arrayOfHaiku = [[NSMutableArray alloc] initWithContentsOfFile: path];
在使用应用程序时,用户将项目添加到self.arrayOfHaiku
. 截至目前,我在以下代码中包含以下代码viewDidUnload
:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //1
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"haiku.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath: path])
{
[self.arrayOfHaiku writeToFile:path atomically:YES];
}
以下是我的问题:
我的代码a) 是简单地用新的扩展数组(这是我想要做的)
viewDidUnload
覆盖存储在 Documents 文件夹中的数组(即在 中访问的数组)的文档,还是 b) 追加viewDidLoad
新的、扩展的数组到已经存储在 Documents 文件夹中的数组,这样我最终得到的数组的长度是一堆重复的两倍多?如果答案是“b)”,我需要改变什么来做“a)”?
viewDidUnload
每次用户将项目添加到 self.arrayOfHaiku 时,是否更好 a) 以我正在执行的方式执行它,或者 b) 扩展文档文件夹中的数组?如果答案是“b)”,我需要改变什么来做“b)”?
谢谢你的帮助。