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