将NSArray添加到NSMutableArray

JTA*_*pps 0 xcode nsuserdefaults nsmutablearray ios

谢谢你的时间和阅读.我想要做的是弄清楚为什么这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);
Run Code Online (Sandbox Code Playgroud)

更新:我明白了.事实证明,您必须使用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];
}
Run Code Online (Sandbox Code Playgroud)

jro*_*yce 5

这样做的方法是使用arrayWithArray,这是你如何做到这一点:

myNSMutableArray = [NSMutableArray arrayWithArray:myArray];
Run Code Online (Sandbox Code Playgroud)