2016-09-09 13 views
0

ビューコントローラにテーブルビューを追加しましたが、そのビューコントローラにデータソースとデリゲートを接続していません。その場合、呼び出される必要なメソッド(UITableViewDataSource/Delegate)の既定の実装がありますか?プログラムはクラッシュせず、データも表示されません。UITableViewDataSource/Delegateメソッドのデフォルト呼び出し

+0

コードを介してそれらを接続することを意味しますか? –

+0

viewControllerの代わりにtableViewControllerを使用しますが、デリゲートメソッドを実装する必要があります。 – vaibhav

答えて

2

UITableViewデリゲートなしでデータソースがない場合は、単に空のテーブルが表示されます。クラッシュすることはありませんが、データを提供しないので役に立たないです。

デフォルトでは、テーブルビューにはゼロ行のセクションが1つ表示されます。それがクラッシュしない理由です。 UITableViewDataSourceのドキュメントを読んだ場合、numberOfSectionsInTableView:のデフォルト値は1であることがわかります。データソースがなければ、テーブルはセクションに対して0行と見なされます。

UITableViewDelegateメソッドの多くも適切なデフォルト値を仮定しています。

+0

@ rmaddy - このデフォルトの初期化をどこで見つけることができますか。 – nik

+0

これは 'UITableView'に組み込まれています。見るものは何もありません。それはちょうどそれが動作する方法です。 – rmaddy