0

iOS プログラミングは初めてで、複数のビューを処理する iPad 用の最初のアプリを作成しました。メモリとオブジェクトがどのように管理されているかわからないため (アプリはクラッシュしていませんが、それらを防止しようとしています)、この質問があります。

一般に、子ビューに移動し、親または親の親などに戻るときに、ビューに関する情報を更新するためにどちらを使用する方がよいか:

オプション 1viewWillAppearメソッドで子コントローラーをインスタンス化する

:

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    self.supportDetailController = [[BIDSupportDetail alloc] init];
}

オプション 2 viewDidLoad Parent メソッドで子コントローラーをインスタンス化し、ChildviewWillAppearメソッド呼び出しでインスタンス化する[self.tablewView reloadData]

:

-(void)viewDidLoad
{
    [super viewDidLoad];
    self.supportDetailController = [[BIDSupportDetail alloc] init];
}

子供:

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.tablewView reloadData]
}

iOS 6.1とXcode 4.6.2を使用しています

4

2 に答える 2

0

メモリ管理についてよくわからない場合は、ARCを使用してください。実際に必要な場合は、子ビュー コントローラーをインスタンス化します。viewDidLoadまたはviewWillAppearナビゲーションのようなものである場合は、インスタンス化する必要はありません。テーブル ビューがあり、セルを選択したときにDetailViewController(通常のシナリオ) に移動し、 から詳細ビュー コントローラーを初期化して表示するとしdidSelectRowAtIndexPathます。
通常、 childVCの reloadTableViewはviewWillAppear、parentVC で戻ったときにビューを更新するために使用されているため、必要ありませんが、時間的にコストがかかるため、これだけを使用する必要があります。

于 2013-04-25T05:45:01.457 に答える