1

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

4

1 回答 1

0

您可以通过使用标志来解决此问题。

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

于 2013-03-25T12:54:50.130 回答