Ios 将NSArray添加到NSMutableArray

Ios 将NSArray添加到NSMutableArray,ios,xcode,nsmutablearray,nsuserdefaults,Ios,Xcode,Nsmutablearray,Nsuserdefaults,谢谢你抽出时间来读这篇文章。我要做的是弄清楚为什么这个NSLog告诉我无论发生什么,NSArray总是空的。我认为问题在于我启动的NSMutableArray错误。您可以看一看并决定我是否做对了,如果可能的话,给我一种方法将数组传递到NSMutableArray 谢谢 //Get Defaults NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSArray *favoriteArray = [[defa

谢谢你抽出时间来读这篇文章。我要做的是弄清楚为什么这个
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];
}

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

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

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

myNSMutableArray = [NSMutableArray arrayWithArray:myArray];

实现这一点的方法是使用arrayWithArray,下面是如何实现的:

myNSMutableArray = [NSMutableArray arrayWithArray:myArray];


您确定要在某处设置objectForKey吗?您可能需要调用synchronize来立即查看它。设置“收藏夹”键的代码在哪里?请注意,您正在记录的是
favoriteArray
,而不是
favorites
。我已修复了日志问题,当我发布此日志时,这是我自己的错误销售。无论如何,我还添加了代码。你们中有谁看到问题了吗?
[[defaults objectForKey:@“favorites”]copy]
是你们的问题线,我想这实际上是我声明的方式;谢谢你的宝贵意见!您确定要在某处设置objectForKey吗?您可能需要调用synchronize来立即查看它。设置“收藏夹”键的代码在哪里?请注意,您正在记录的是
favoriteArray
,而不是
favorites
。我已修复了日志问题,当我发布此日志时,这是我自己的错误销售。无论如何,我还添加了代码。你们中有谁看到问题了吗?
[[defaults objectForKey:@“favorites”]copy]
是你们的问题线,我想这实际上是我声明的方式;谢谢你的宝贵意见!它会在以后的方法中设置,如果您需要,我可以发布它。我将一个URL字符串传递到“favorites”可变数组中,然后该数组在默认值中保存到“favorites”数组中。@JTApps方法的执行顺序是什么?我已经弄明白了!不能将数组作为对象添加到可变数组中,我必须使用initWithArray@JTApps不清楚您的问题是什么,因为主题是“将数组添加到可变数组”,看起来还可以。您想要的是“将数组的元素添加到MutableArray”。它在稍后的方法中设置,如果您需要,我可以发布它。我将一个URL字符串传递到“favorites”可变数组中,然后该数组在默认值中保存到“favorites”数组中。@JTApps方法的执行顺序是什么?我已经弄明白了!不能将数组作为对象添加到可变数组中,我必须使用initWithArray@JTApps不清楚您的问题是什么,因为主题是“将数组添加到可变数组”,看起来还可以。您想要的是“将数组元素添加到可变数组”。