0

詳細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 について特別なことは何もありません。何がうまくいかないかについての提案をいただければ幸いです。

4

1 に答える 1