さて、UITableViewデリゲートのコードを別のクラスに移動することにしました。必要に応じてサブクラス、サブクラス。これにより、 Cellforrowwithindexpath関数がサブクラス内で実行するすべての要素に簡単にアクセスできるようになります。
しかし今、わずかな問題があります...
UItableViewに関する限り、正常に機能しますが、ナビゲーションコントローラーを使用してビューを上にプッシュしようとすると、機能しませんでした。その後、自分自身を発見しました...メインクラス内は実際にはインスタンスでした私のサブクラスの...何?ですから、自己は実際には自己と同じではありません...
誰かが私がここで非常に間違っていることについて何か洞察を私に与えることができますか?
編集:それで、代わりにデリゲートのサブクラスに変更しました。他の誰かがこの問題に遭遇した場合に備えて、正常に動作しますが、そもそもなぜそれが起こったのかについてはまだ混乱しています...
コード:
@interface OpenGameList : MainMenuViewContoller <UITableViewDelegate,UITableViewDataSource>
{
}
@end
MainMenuViewControllerのviewDidLoad関数で
_openGameList = [[OpenGameList alloc] init];
_openGameList.delegate = self;
friendsTable.delegate = _openGameList;
friendsTable.dataSource = _openGameList;
そしてその後よりも、MainMenuViewControllerでのselfの使用はOpenGameListと等しいように思われるため、使用[[fromView navigationController] pushViewController:toView animated:NO];
が機能しないのはなぜですか