我正在使用下面的代码将字符串添加到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方法,它应该可以工作。

08-05 06:31