将NSArray添加到NSMutableArray

时间:2012-03-05 03:59:59

标签: ios xcode nsmutablearray nsuserdefaults

感谢您抽出时间阅读本文。我想要做的是弄清楚为什么NSLog告诉我NSArray总是为空,无论如何。我认为问题是我发起了NSMutableArray错误。您是否可以看看并决定我是否做得对,如果可能的话,请给我一种方法将数组传递到NSMutableArray

谢谢!

 //Get Defaults
 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 NSArray *favoriteArray = [[defaults objectForKey:@"favorites"] copy];

//Declares Mutable Array
self.favorites = [[NSMutableArray alloc] initWithObjects:favoriteArray, nil];
NSLog(@"array: %@", favorites);

更新:我明白了。事实证明你必须用initWithArray声明它,而不是试图将它作为一个对象添加

解决方案:

- (void)viewDidLoad {

     //Get Defaults
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
     NSArray *favoriteArray = [[defaults objectForKey:@"favorites"] copy];

    //Declares Mutable Array
    self.favorites = [[NSMutableArray alloc] initWithArray:favoriteArray];

    [super viewDidLoad];
}

2 个答案:

答案 0 :(得分:5)

执行此操作的方法是使用arrayWithArray,以下是您的操作方法:

myNSMutableArray = [NSMutableArray arrayWithArray:myArray];

答案 1 :(得分:0)

您是否曾在“收藏夹”键的用户默认设置中设置对象?