感谢您抽出时间阅读本文。我想要做的是弄清楚为什么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];
}
答案 0 :(得分:5)
执行此操作的方法是使用arrayWithArray,以下是您的操作方法:
myNSMutableArray = [NSMutableArray arrayWithArray:myArray];
答案 1 :(得分:0)
您是否曾在“收藏夹”键的用户默认设置中设置对象?