2

非常に大きなインデックスを返すNSMutableArrayがありますか?

po [masterArray count] < returns "2"

NSUInteger theIndex = [masterArray indexOfObject:validateEnrollmentStatus];

上記は「2147483647」のNSUIntegerを返しますか?それがどのように可能か、何が起こっているのかわかりませんか?masterArrayは、デバッグコンソールでcountメソッド呼び出しを指定して、アイテムを追加する必要があります。

誰か提案がありますか?

4

2 に答える 2

19

これがの値ですNSNotFound。これは、探しているオブジェクトが配列にないことを意味します。

于 2012-11-06T19:55:17.723 に答える
1

このようにしてみてください。validateEnrollmentStatusには存在しませんmasterArray。したがって、を取得しようとする前に、おそらくそのチェックを追加できますindexOfObject

    NSUInteger theIndex = 0;

    if ([masterArray containsObject:validateEnrollmentStatus]) {
        theIndex = [masterArray indexOfObject:validateEnrollmentStatus];
    } else {
        NSLog(@"%@ is not present in masterArray", validateEnrollmentStatus);
    }
于 2012-11-06T20:27:05.750 に答える