为什么relaodData调用viewDidLoad

时间:2013-03-25 12:50:14

标签: ios objective-c uitableview

我正在维护由其他人开发的应用程序,我在调试时遇到了一个奇怪的行为。当从另一个类中分配一个视图控制器对象时,它将调用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。为什么会这样?提前完成。

1 个答案:

答案 0 :(得分:0)

您可以使用flag来解决此问题。

BOOL变量上声明,并在调用reloadData方法之前将其设为true。并在viewDidLoad检查变量是否为真,然后不要初始化你的数组。

希望这会对你有所帮助。

一切顺利!!!