我的.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];
答案 0 :(得分:1)
[NSMutableArray array]
创建一个自动释放的数组,显然是在viewDidLoad
方法结束时释放的。尝试使用[[NSMutableArray alloc] init]
或[[NSMutableArray array] retain]
,看看viewDidLoad
返回后值是否仍然存在。