2010-07-17 2 views
1

Я хотел бы знать, как реализовать проверку в Core Data. То, что я хотел бы сделать, это убедиться, что атрибут уникален в пределах области связанного родительского объекта. Другими словами, мне интересно, как реализовать парадигму validates_uniqueness_of :field, :scope => :parent (от rails/activerecord) в Core Data.Основные данные. Как проверить уникальность атрибута в пределах области

Например, предположим, что я создаю две модели - одну из которых называется Blog и одна называется Post. Каждое сообщение имеет атрибут title. У разных объектов блога могут быть сообщения с одинаковыми названиями, но как я могу проверить уникальность title в рамках блогов?

Спасибо!

ответ

0

Пройдите отношения с родителем и возьмите набор сообщений. Затем вы можете запустить предикат против него, чтобы проверить его уникальность:

NSSet *set = [[self parent] posts]; 
NSSet *filtered = [set filteredSetWithPredicate:[NSPredicate preicateWithFormat:@"self != %@ and title == %@", self, [self title]]]; 
if ([filtered count] > 0) return NO; 
return YES;