1

私はUITableView5つのセルを持っています。それぞれがタップされると、異なることを行います。しかし、今のところ (コードが長くなりすぎないように)、タップするとすべてNSLog.

これがコードです。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *newCell = [_randomCells cellForRowAtIndexPath:indexPath];

    if ([(newCell) isEqualToString:@"Random cell 1"]) {
        NSLog(@"foo bar 1.");
    } else if ([(newCell) isEqualToString:@"Random cell 2"]) {
        NSLog(@"foo bar 2.");
    } else if ([(newCell) isEqualToString:@"Random cell 3"]) {
        NSLog(@"foo bar 3.");
    } else if ([(newCell) isEqualToString:@"Random cell 4"]) {
        NSLog(@"foo bar 4.");
    } else if ([(newCell) isEqualToString:@"Random cell 5"]) {
        NSLog(@"foo bar 5.");
    }
}

UITableViewCell別の方法が見つからなかったため、これがストーリーボードでタップされた s を検出する最も適切な方法であると考えました。

ただし、5 つの if ステートメントすべてで、次のエラー メッセージが表示されます。

No visible @interface for 'UITableViewCell' declares the selector 'isEqualToString:'

この問題を解決するにはどうすればよいですか? 前もって感謝します。

Objective-C ARCでコードを入力し、ストーリーボードを使用していることに注意してください。

4

2 に答える 2