2012-04-05 5 views
0

私は最初のコントローラとしてtableviewコントローラを備えたナビゲーションコントローラを持っていますが、データベースが空のときにユーザーにいくつかの情報ストーリーボードに割り当てられたビューの代わりにナビゲーションコントローラに表示するには、プログラムでこれを行う必要があると思いますが、私はiPhone開発には新しく、正直なところどこから始めるべきかわかりません。ストーリーボードを使用してデータが空のときにナビゲーションコントローラに別の表示を表示

答えて

1

ここでその方法を説明します。ユーザーが情報を送信するビューコントローラのストーリーボードに新しいシーンを作成します(これをCollectInfoViewControllerという)。次に、テーブルビューコントローラからCollectInfoViewControllerへのモーダルセグを作成します。 Attributes Inspectorで、SegueのIdentifierプロパティーを "CollectInfo"に設定して、後でそれを識別できるようにします。

テーブルビューコントローラーのviewDidLoadメソッドが実行されたら、表示する行があるかどうかをテーブルビューの委任者に確認します。存在しない場合は、プログラムによって、SegueをCollectInfoViewControllerに実行します。あなたのCollectInfoViewControllerで

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    if ([self.tableView.dataSource tableView:self.tableView numberOfRowsInSection:0] == 0) { 
     [self performSegueWithIdentifier:@"CollectInfo" sender:self];  
    } 
} 

ユーザーが情報を入力した、あなたのデータベースに保存された後、あなたはそのビューを閉じCollectInfoViewController内から以下のように呼び出すことができます。これにより、ユーザーはテーブルビューに戻ります。

[self dismissModalViewControllerAnimated:YES]; 

最後に、テーブルビューコントローラーに戻って、収集された新しいデータでテーブルを再ロードする必要があります。 viewWillAppearでそれを行うことができます。これは、モーダルビューコントローラが閉じられたときに呼び出されます。

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    [self.tableView reloadData]; 
} 
関連する問題