Objective c 通知另一个视图

Objective c 通知另一个视图,objective-c,ios7,notifications,xcode5,Objective C,Ios7,Notifications,Xcode5,我试着去想一个没有成功的人。 任何身份证 // MasterViewController NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults setObject:myParametersArray forKey:@"myParametersArray"]; // add 'string' as object with key name is also 'myArrayKey' [u

我试着去想一个没有成功的人。 任何身份证

// MasterViewController
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:myParametersArray forKey:@"myParametersArray"]; // add 'string' as object with key name is also 'myArrayKey'
[userDefaults synchronize];

// Another View.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

myParametersArray  = [defaults objectForKey:@"myParametersArray"];
myParametersArray[STR_OPTION_PSEUDO] = [NSNumber  numberWithInteger:_RetainPseudoSwitch.enabled];
信息myParametersArray是NSMutableArray


原因:'-[\u NSCFArray insertObject:atIndex::]:将突变方法发送到不可变对象'

在MasterViewController中,没问题,我可以将对象存储到阵列中。
在第二个视图中,我收到了上面的消息,我不明白你为什么用这种方式发布通知,但我会尽力帮助你

此行将为myParametersArray变量分配NSArray对象,并将其类型更改为NSArray。你不能改变NSArray对象

myParametersArray  = [defaults objectForKey:@"myParametersArray"]; 
将其替换为以下内容:

myParametersArray = [NSMutableArray arrayWithArray:[defaults objectForKey:@"myParametersArray"]];
此外,还应按如下方式设置阵列对象:

[myParametersArray setObject:[NSNumber  numberWithInteger:_RetainPseudoSwitch.enabled] atIndex:[STR_OPTION_PSEUDO]];

原因:'-[\u\NSCFArray insertObject:atIndex:]:发送到不可变对象的mutating方法'欢迎使用SO!请始终将错误消息和其他详细信息(如果可用)直接包含在您的问题中!NSMUTABLEARRY*我的参数RAY您可以编辑您的问题,这样其他用户就不必阅读所有评论了。请小心,一些审阅者对您存储的数据和位置非常挑剔。事实上,我需要所有视图的选项参数,并且在我的头脑中,我在MasterViewController中创建了一个可变数组。因此,在第二个视图中,我检索了我的数组,并尝试此解决方案,因为视图可以将对象放入我的主视图[myParametersArray setObject:[NSNumber numberWithInteger:_RetainPseudoSwitch.enabled]索引下标:(STR_选项_伪)];