1

他の人が開発したアプリをメンテナンスしていますが、デバッグ中に奇妙な動作が発生しました。ビュー コントローラー オブジェクトを別のクラスから割り当てると、 が呼び出さviewDidLoadviewDidLoadます。配列を埋める別のメソッドを呼び出します。

- (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

flag を使用すると、この問題を解決できます。

BOOL変数で宣言し、reloadDataメソッドを呼び出す前に true にします。viewDidLoad変数がtrueかどうかを確認してから、配列を初期化しないでください。

于 2013-03-25T12:54:50.130 に答える