我是iOS的新手。我对NSMutableArray
有疑问。希望你能帮助我
我的应用有2个视图控制器(主页和列表)。
在列表中,我有NSMutableArray
self.arrayCategory = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5,@"6", nil]];
它放入View确实加载。我用
[self.arrayCategory insertObject:self.textfield.text atIndex:1];
将对象添加到arrayCategory
。它只适用于我在列表视图控制器中。当我回到Home然后再次进入List时,它不起作用。它只显示一个包含6个元素的数组。你能帮我找出解决方案吗?对不起,我的英语不好。谢谢大家
答案 0 :(得分:0)
您可能在进入主屏幕时重新创建了arrayCategory。您可以通过添加日志记录来检查它
NSLog(@"Here I am creating/recreating arrayCategory");
也只是为了测试(!)你可以尝试替换
self.arrayCategory = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5,@"6", nil]];
与
static NSMutableArray *staticArray;
if (staticArray == nil) {
staticArray = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6", nil];
}
self.arrayCategory = staticArray;
在这种情况下,不会重新创建arrayCategory,但此解决方案并不好。最好使用单例或尝试其他地方来存储arrayCategory。