0

したがって、に基づいている私のアプリでは、次のようなメソッドの行をUITableViews取得しています。indexPathdidSelectRowAtIndexPath:

- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSUInteger row = [indexPath row];

    // Extract Data

    CTCoreMessage *message = [[self allMessages] objectAtIndex:row];
}

indexPath私の質問は、で受け取りたい場合はどうすればよいIBActionですか? NSIndexPathメソッドのヘッダーに宣言がないので、どうすればいいですか?

ありがとう!

4

2 に答える 2

0

私はこのコードの問題を解決しました。助けてくれたみんなに感謝します!

NSUInteger nSections = [self.messagesTable numberOfSections];
NSUInteger nRows = [self.messagesTable numberOfRowsInSection:nSections];
NSInteger lastSection = nSections - 1;
NSInteger lastRow = nRows - 1;
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:lastRow inSection:lastSection];

再度、感謝します!

于 2013-04-22T23:34:47.993 に答える
0

しかし、実際にはインデックス パスは必要ありません。行が必要です。はい? UIControl行を知るには、アクションの送信者 (一部) を構成する必要があります。

オプション 1: 送信者タグ プロパティを設定します (すばやく簡単に)。

オプション 2: 送信者をサブクラス化し、行を格納するプロパティを追加します (技術的に正しい)。

送信者を設定する場所は、それを作成する方法と場所、およびテーブル ビューとの関係 (おそらく ) によって異なります-tableView:cellForRowAtIndexPath:

于 2013-04-22T22:19:29.163 に答える