退出方法后全局数组丢失值

时间:2011-10-06 01:36:10

标签: objective-c arrays global-variables

我的.m文件顶部有

static NSMutableArray *name;

我将一堆值加载到viewDidLoad方法中的* name数组中。

我有一个滑块,可以修改此数组中的值。只有当滑块的值发生变化时才会调用滑块方法。但是,我运行此代码,每次我的程序退出viewDidLoad方法时,我都会丢失添加到全局变量名称的值。在退出viewDidLoad方法之前,我可以看到它们在那里。

我做错了什么?

编辑:内部viewDidLoad

if (name == nil)
    name = [NSMutableArray array];
UITextField *nameTemp = [[UITextField alloc] initWithFrame:CGRectMake(20,20,20,20)];
nameTemp.returnKeyType = UIReturnKeyDone;
etc
[self.view addSubview: nameTemp];
[name addObject:nameTemp]
[nameTemp release];

1 个答案:

答案 0 :(得分:1)

[NSMutableArray array]创建一个自动释放的数组,显然是在viewDidLoad方法结束时释放的。尝试使用[[NSMutableArray alloc] init][[NSMutableArray array] retain],看看viewDidLoad返回后值是否仍然存在。