0

最初のコントローラーとしてテーブルビューコントローラーを備えたナビゲーションコントローラーがありますが、データベースが空の場合、ユーザーにデータベースに入力する情報を要求するビューをユーザーに表示し、ビューの代わりにナビゲーションコントローラーに表示したいと考えていますストーリーボードに割り当てられているので、プログラムでこれを行う必要があると思いますが、私はiPhone開発に不慣れで、正直なところどこから始めればよいかわかりません。

4

1 に答える 1

1

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

次に、テーブルビュー コントローラーのviewDidLoadメソッドが実行されるときに、表示する行があるかどうかをテーブル ビュー デリゲートに問い合わせます。存在しない場合は、CollectInfoViewController へのセグエをプログラムで実行します。

- (void)viewDidLoad
{
    [super viewDidLoad];   

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

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

[self dismissModalViewControllerAnimated:YES];

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

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.tableView reloadData];
}
于 2012-04-05T21:59:52.957 に答える