2011-12-30 4 views
1

Я новичок в coredata, и я хочу знать, как определить, идентичен ли объект и уже существует, например, я могу сохранить модель новостей (NSManagedObject) с заголовком и контентом и сохранить ее, позже я создал экземпляр другой модели новостей с тем же названием и контентом, есть ли способ сказать, что этот объект уже существует? Заранее спасибо!Поиск идентичного NSManagedObject в CoreData

ответ

4

Чтобы найти другую модель Новостей с тем же названием и содержанием, вам необходимо сначала выполнить запрос, используя сравнение как по содержанию, так и по названию, прежде чем создавать новую модель Новостей.

Вот что ваш NSPredicate может выглядеть следующим образом:

NSString *newContent = @"SomeNewContentValue"; 
NSString *newTitle = @"SomeNewTitleValue"; 

NSPredicate *newsFilter = [NSPredicate predicateWithFormat:@"title==[cd]%@ AND content==[cd]%@", newTitle, newContent]; 

Соблюдайте [CD] варианты строки, которые делают ваше сравнение как случай и диакритических нечувствительны. Это, конечно, предполагает, что вам нужно, чтобы это было нечувствительным к регистру. В противном случае оставьте [cd] в любом месте.

+1

Чувствительность к регистру, безусловно, зависит от реализации/идеи о равенстве. –

+0

Также считайте, что 'content =" abcdef "' не может быть тем же объектом, что и 'content =" ABCDEF "', вот что я имел в виду при чувствительности к регистру –

+0

Thanks @ Paul.s. Ответ был изменен. – Jeremy

Смежные вопросы