Вот очень простой код, демонстрирующий один простой способ сделать это.
Вам необходимо добавить собственный атрибут идентификатора, чтобы вы могли проверить, существует ли уже элемент.Допустим, вы называете это id
.Затем, когда вы запускаете свое приложение, вы проверяете каждое из ваших значений по умолчанию и, если они еще не существуют, добавляете их, например так:
// create a fetch request to get all items with id=1
let fr = NSFetchRequest<MyItem>(entityName: MyItem.entity().name!)
fr.predicate = NSPredicate(format: "id == %@", "1")
do {
// if that request returns no results
if (try myManagedObjectContext.fetch(fr).isEmpty == true) {
// create the default item
let item = NSEntityDescription.insertNewObject(forEntityName: MyItem.entity().name!, into: myManagedObjectContext) as! MyItem
// set the id
item.id = "1"
// set other attributes here
}
} catch {
// fetching failed, handle the error
}
После добавления данных вы должны сохранить их.:
// save the context
do {
try myManagedObjectContext.save()
} catch {
// handle the error
}
Вы также можете использовать Core Datas Unique Constraints, но я думаю, что это решение намного проще.Надеюсь, это поможет!