Ios 如何将NSMutableArray保存到本地存储

Ios 如何将NSMutableArray保存到本地存储,ios,nsmutablearray,Ios,Nsmutablearray,我想将NSMutableArray保存到文件中,并在每次程序运行时加载它。这方面的最佳解决方案是什么 这是我的例子: // I add a new item to ARRAYLIST NSString *textNewCategory = [alert textFieldAtIndex:0].text; [ARRAYLIST insertObject:textNewCategory atIndex:0]; // I save ARRAYLIST userCategory = [NSUserDe

我想将NSMutableArray保存到文件中,并在每次程序运行时加载它。这方面的最佳解决方案是什么

这是我的例子:

// I add a new item to ARRAYLIST
NSString *textNewCategory = [alert textFieldAtIndex:0].text;
[ARRAYLIST insertObject:textNewCategory atIndex:0];

// I save ARRAYLIST
userCategory = [NSUserDefaults standardUserDefaults];
[userCategory setObject:ARRAYLIST forKey:@"newCategory"];
NSLog(@"ARRAYLIST 1:%d", ARRAYLIST.count); // EX: In this case, it has count : 30

//In viewdidload, I get array that I saved before 
userCategory = [NSUserDefaults standardUserDefaults];
arrayNewCategory = [[NSMutableArray alloc] initWithArray: [userCategory objectForKey:@"newCategory"]];
ARRAYLIST = arrayNewCategory;
NSLog(@"ARRAYLIST 2:%d", ARRAYLIST.count); // In this moment, it only has count: 29.

我不明白为什么重新加载的数组只有29项,而不是我预期的30项。

将数组保存到plist:

[array writeToFile:path atomically:NO]
并检索它:

NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:path];