公共阵列?使数组可由多个类访问

时间:2014-03-25 09:04:40

标签: objective-c arrays xcode

我正在尝试将课程(从文本字段)保存到数组中,以便我可以保存它们,然后在新视图中显示它们。

我目前的代码:

//monLessons = Monday's lessons

NSMutableArray *monLessons;

monLessons = [NSMutableArray arrayWithObjects: self.mon1.text, self.mon2.text, self.mon3.text, self.mon4.text, self.mon5.text, self.mon6.text, nil];

干杯!

1 个答案:

答案 0 :(得分:0)

如果您只想从多个类访问此NSMutableArray - NSUserDefaults将是最简单,最干净的解决方案。

示例

所以保存NSMutableArray:

    [[NSUserDefaults standardUserDefaults]setObject:YOUR ARRAY forKey:@"MondayLessons"];

现在NSUserDefaults在你要求的时候返回一个数组的不可变副本 - 你需要像这样返回它:

NSMutableArray *yourArray = [[[NSUserDefaults standardUserDefaults]objectForKey:@"MondayLessons"] mutableCopy];

这样您就可以获得NSMutableArray而不是NSArray

修改2

我忘了添加:

在您关闭应用程序或转移到新的ViewController之前 - 您需要将数据保存到NSUserDefaults所以请致电 - [[NSUserDefaults standardUserDefaults]synchronize];

任何时候你想保存。如果你没有调用这行代码 - 当你向NSUserDefaults询问你的数组时 - 它将是零。每次对要保存的阵列进行更改时,都需要执行此操作。