我正在维护由其他人开发的应用程序,我在调试时遇到了一个奇怪的行为。当从另一个类中分配一个视图控制器对象时,它将调用viewDidLoad
,在viewDidLoad
中,我调用另一个我填写数组的方法:
- (void)viewDidLoad
{
[super viewDidLoad];
[self fillArray];
}
-(void)fillArray{
arrayProduct = [[NSMutableArray alloc] init];
//fill in the array from server
[self.objTableView reloadData];//refresh the table view
}
奇怪的行为是,一旦执行了[self.objTableView reloadData];
语句,就会再次调用viewDidLoad
。为什么会这样?提前完成。
答案 0 :(得分:0)
您可以使用flag来解决此问题。
在BOOL
变量上声明,并在调用reloadData
方法之前将其设为true。并在viewDidLoad
检查变量是否为真,然后不要初始化你的数组。
希望这会对你有所帮助。
一切顺利!!!