1

indexPath(.row) が存在するかどうかを確認しようとしている配列があります。

私はこのコードを使用します:

if ([array containsObject:[NSNumber numberWithInt:indexPath.row]]){
    NSLog(@"Yep, it exists in there.");
}

配列は数値 3、8、および 2 で構成されます。インデックス パスは、0 から 8 までの数値をループでロードします。

なぜこれがうまくいかないのか誰にもわかりますか?

4

1 に答える 1

7

配列には文字列が含まれているため、文字列と比較する必要があります。数値文字列を作成するには、 を使用します-stringWithFormat:。そう:

if ([array containsObject:[NSString stringWithFormat:@"%d", indexPath.row]]){
    NSLog(@"Yep, it exists in there.");
}

より良い解決策は、NSNumber を配列に格納することです。

于 2010-04-20T19:52:55.143 に答える