0

コア データ フェッチから取得した配列 (catArray) があります。この配列を使用して、ピッカービュー (categoryPicker) を設定しています。また、ビューが表示されたときにメモをロードしました。このメモ (コア データからも取得) には、catArray のカテゴリの 1 つと一致する「カテゴリ」属性があります。

私がやりたいことは、ビューが表示されたら、メモのカテゴリ属性を取得し、catArray で文字列結果を検索し、インデックスを取得して、ピッカービューの正しい行を選択することです。これが私のコードです:

- (void)viewDidLoad
{

    Notes *editNote = (Notes *)[noteArray objectAtIndex:0];
    NSString *tmpString = [editNote category];

    NSLog(@"tmpstring : %@", tmpString);
    NSLog(@"cat array : %@", catArray);


    NSInteger indexOfTheObject = [catArray indexOfObject:tmpString];

    [categoryPicker selectRow:indexOfTheObject inComponent:0 animated:YES];

}

ログの結果は次のとおりです。

2013-11-07 14:09:25.393 シンプル ノート 1[14351:a0b] tmpstring: カテゴリ 2
2013-11-07 14:09:25.395 シンプル ノート 1[14351:a0b] 猫配列: (
    " (エンティティ: カテゴリ; id: 0x89f1770 ; データ: )",
    " (エンティティ: カテゴリ; id: 0x89d9230 ; データ: )",
    " (エンティティ: カテゴリ; id: 0x8968420 ; データ: )",
    " (エンティティ: カテゴリ; id: 0x8968430 ; データ: )",
    " (エンティティ: カテゴリ; ID: 0x89cdc10 ; データ: )"
)
2013-11-07 14:09:25.404 シンプル ノート 1[14351:a0b] *** キャッチされない例外 'NSRangeException' によりアプリを終了します。理由: '*** -[NSMutableIndexSet addIndexesInRange:]: 範囲 {2147483647, 1} NSNotFound の最大インデックス値を超えています - 1'

だから、探している文字列が大丈夫であることはわかっています。配列も空ではありませんが、正しいインデックスが見つからない理由がわかりません。なにか提案を ?ありがとうございました。

4

1 に答える 1