您如何比较2 NSMutableArray
?添加到NSUserDefaults - 初学者
不同的人可能会说这是一个重复的问题,但在查看大多数SO问题后,我还没有找到解决我的问题的方法。
有一个Person
对象,它具有字段Name, Age, Rank
我有一个MutableArray
将从NSUserDefaults
保存数据。那么它会看到NSMutableArray
是否包含该特定对象。如果没有,它会将其添加到NSUserDefaults
。
当我将人物添加到NSUserDefaults
(我正在通过数组添加人物对象,请参阅代码)时,会出现一些问题。
当我打印[data count]
它总是0
。所以它可能没有正确添加到NSUserDefaults
。或者我可能会犯一些错误。
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if (userDefaults) {
NSArray *arr= [userDefaults objectForKey:@"person"];
data = [NSMutableArray arrayWithArray:arr];
NSLog (@"%i ", [data count]);
if (! [data containsObject:self.person]) {
[data addObject:self.person];
NSArray *personarr= [NSArray arrayWithArray:data];
[userDefaults setObject:personarr forKey:@"person"];
[userDefaults synchronize];
self.person是如何定义的? – ader 2012-02-15 17:16:44
person对象在.h中定义并合成。它包含一个人的姓名,年龄和等级。我需要它被添加到NSUserDefaults。下面讨论的 – shajem 2012-02-15 17:25:39
使名称,年龄和等级NSStrings和NSNumbers。 – ader 2012-02-15 17:37:50