在表视图中更新可变数组

时间:2014-04-11 19:30:19

标签: ios uitableview nsmutablearray

我是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个元素的数组。你能帮我找出解决方案吗?对不起,我的英语不好。谢谢大家

1 个答案:

答案 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。