Из IOS 9 существует новый способ обработки уникальных ограничений.
Вы определяете уникальные атрибуты в модели данных.
Необходимо установить политику слияния с управляемым контекстом «Объединить политики однопользовательских объектов, которые определяют стандартные способы обработки конфликтов во время операции сохранения». Значение NSErrorMergePolicy по умолчанию. Эта политика приводит к сбою сохранения, если есть конфликты слияния.
- (NSManagedObjectContext *)managedObjectContext {
// Returns the managed object context for the application (which is already bound to the persistent store coordinator for the application.)
if (_managedObjectContext != nil) {
return _managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (!coordinator) {
return nil;
}
_managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
[_managedObjectContext setPersistentStoreCoordinator:coordinator];
[_managedObjectContext setMergePolicy:NSOverwriteMergePolicy];
return _managedObjectContext;
}
Различные опции обсуждаются на Apple Ducumentation Merge Policy
Он ответил красиво здесь Zachary Orr's Answer
и он любезно также создал BlogPost и примеры кода.
Sample Code
Blog Post
Самая сложная часть, чтобы получить модель данных атрибутов editable.The Секрет щелкните левой кнопкой мыши, а затем щелкните правой кнопкой мыши, после того, как вы нажали на знак +, чтобы добавить ограничение.
Почему этот вопрос закрыт? Приведенная причина заключалась в том, что «Вопросы, требующие кода, должны демонстрировать минимальное понимание решаемой проблемы», но я вообще не запрашивал код - я хотел знать, удалось ли это сделать в графическом редакторе в Xcode. (Ответ фактически оказался «нет, но вот некоторые обходные пути».) – robinjam