как отфильтровать все сообщения, у которых нет одного из идентификаторов в массиве favoiritePosts?

Я хочу отфильтровать все сообщения, у которых нет одного из идентификаторов в массиве FavoritePosts. Я пробовал это, но это не работает:

[NSPredicate predicateWithFormat:@"postID IN %@",favoritesPosts_];

Я получаю эту ошибку: «Недопустимый предикат: nil RHS».

Любые идеи о том, как правильно написать предикат?

Массив состоит из объектов NSNumber, и я хочу отфильтровать fetchResultController моего табличного представления с помощью этого предиката. объект Post имеет атрибут PostID типа NSNumber.

Возможно, это не тот способ сделать это. Цель состоит в том, чтобы показать в табличном представлении, которое контролируется fetchResultsController, только сообщения, идентификаторы которых находятся в массиве FavoritesPosts_. Так что, если у кого-то есть другая идея о том, как это сделать, я буду признателен.


person Tomer Even    schedule 26.09.2011    source источник
comment
Проверьте Руководство по программированию предикатов   -  person Youssef    schedule 26.09.2011
comment
не нашел там ответа...   -  person Tomer Even    schedule 26.09.2011
comment
Возможно, вы должны предоставить нам больше информации, например, структуру вашего массива и объекты, хранящиеся в нем.   -  person Youssef    schedule 26.09.2011
comment
Тогда это будет слишком просто;) в любом случае массив состоит из объектов NSNumber, и я хочу отфильтровать fetchResulteController моего табличного представления с помощью этого предиката. объект Post имеет атрибут PostID типа NSNumber.   -  person Tomer Even    schedule 26.09.2011


Ответы (1)


Если favoritesPosts_ представляет собой массив строк, содержащий идентификаторы сообщений, то вы вполне можете использовать созданный вами предикат,

predicateWithFormat:@"postID IN %@", favoritesPosts_];

Но если favoritesPosts_ содержит объекты со свойством, скажем, postID, тогда ваш предикат должен быть

predicateWithFormat:@"postID IN %@", [favoritesPosts_ valueForKey:@"postID"]];
person EmptyStack    schedule 26.09.2011