2つのシナリオ:
まず、テーブルビューを標準に追加した場合UIViewController
(つまり、テーブルビューをInterface Builderの空白の標準ビューコントローラーにドラッグし、ビューコントローラーの.hでサブクラスが指定されている場合UIViewController
)、を指定する必要があります。テーブルビューの「データソース」および「デリゲート」プロパティを手動で。したがって、View Controllerを参照するように、Tableviewの「データソース」と「デリゲート」を必ず構成する必要があります。これは、どちらのInterface Builderでも実行できます(テーブルビューを選択し、右端のパネルの[接続インスペクター]に移動して、データソースとデリゲートのアウトレットを指定していることを確認してください)。
または、サブクラスコードのプロパティを設定しますdataSource
。delegate
UIViewController
viewDidLoad
self.tableView.dataSource = self;
self.tableView.delegate = self;
このシナリオではIBOutlet
、テーブルビュー用のも作成したことを確認する必要があります。
または、を使用した場合UITableViewController
(つまり、空白のView Controllerを削除し、InterfaceBuilderのストーリーボードに独自のTableViewControllerを追加し、View ControllerがではUITableViewController
なくのサブクラスであることを確認した場合UIViewController
)、Moxyの回答を参照してください。