0

コントローラとは別のファイルにデータソースを入れたいのですが、機能しません。メソッドcellForRowAtIndexPath、numberOfRowsInSection、およびnumberOfSectionsInTableViewは、他のファイルでは呼び出されません。dataSourceプロトコルを使用するように設定しましたが、コントローラーのviewDidLoadにこれがあります[self.tableView setDataSource:dataModel];
なぜ動かないのか理解できません。dataSourceをinterfacebuilderのviewControllerとは異なるファイルに設定できますか?ただし、viewDidLoadにsetDataSourceがあるため、機能するはずです。多分別の問題がありますか?

4

2 に答える 2

0

クラスの拡張であるカテゴリを使用して、コントローラーを別のファイルに設定できます。あなたのコントローラーを使用したいかどうかはわかりませんが、あなたの投稿からのデータソースがあります。

いずれにせよ、nil 以外のオブジェクトで setDataSource メソッドを使用してオブジェクト デリゲートを設定することにより、デリゲートを定義する必要があります。あなたの場合、オブジェクトが nil だった場合、UITableView オブジェクトでは何も呼び出されませんsending messages to nil is silently ignored

于 2012-09-14T22:05:21.757 に答える
0

dataSource として設定したときに、dataModel が nil でないことを確認しましたか?

于 2012-09-17T13:33:25.380 に答える