我正在使用下面的代码将字符串添加到NSMutableArray
。但是我面临的问题是,每当我向NSMutableArray
添加新值时,以前的值都会被删除,并且会有新值出现,因此总会有一个值。
我必须将此NSMutableArray
保存为NSUserDefaults
,以便在其他屏幕上也可以使用它。
我搜索了很多,请帮帮我
代码是:
- (IBAction)addChildren:(id)sender {
inputChildName = nameOfChild.text;
childArray = [[NSMutableArray alloc] init];
[self.childArray addObject:inputChildName];
NSUserDefaults *childrenNamesForLabel = [NSUserDefaults standardUserDefaults];
[childrenNamesForLabel setObject:childArray forKey:@"children"];
[childrenNamesForLabel synchronize];
NSLog(@"CHILDREN ARRAY::: %@", childArray);
}
最佳答案
因为每当收到addChildren操作时,您都会重新创建childArray,这意味着它将包含0个对象,因此您将添加一个对象。
childArray = [[NSMutableArray alloc] init];
[self.childArray addObject:inputChildName];
将
childArray = [[NSMutableArray alloc] init];
移至init或load方法,它应该可以工作。