詳細View ControllerにプッシュするUITableViewで、何をしても、prepareForSegue
選択された行を取得できません。私が試してみました:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
しかし、それはゼロになります。私が試してみました:
NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
ログからわかるように、問題は送信者が通過していることです。
Sender is <ARASpecialCell: 0x75cd6d0; baseClass = UITableViewCell; frame = (0 44; 320 44); text = 'Late Night'; autoresize = W; layer = <CALayer: 0x75c98c0>>
特別なセルは、セルをサブクラス化してパブリック プロパティを追加しようとしたが、アクセスに問題があったためです。
テキストラベルを取得して使用しようとしましたが、エラーが発生しました:
"property "textlabel" not found on object of type '__strong id'"
次のView Controllerをロードするために「インデックスパスで選択された行」を試みましたが、詳細View Controllerはストーリーボードの別のものからセットアップされており、再構成するのは面倒です。
この TableViewController について特別なことは何もありません。何がうまくいかないかについての提案をいただければ幸いです。