Содержит объект - почему это не работает? - PullRequest
1 голос
/ 20 апреля 2010

У меня есть массив, который я пытаюсь проверить, существует ли indexPath (.row) в.

Я использую этот код:

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

массив состоит из чисел 3, 8 и 2. Путь индекса загружает числа от m 0 до 8 в цикле.

Кто-нибудь может понять, почему это не работает?

1 Ответ

7 голосов
/ 20 апреля 2010

Поскольку массив содержит строки, вы должны сравнивать их со строками.Чтобы создать числовую строку, используйте -stringWithFormat:.Итак:

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

Лучшее решение - хранить NSNumber в массиве.

...