2015-12-06 2 views
0

Я создал контроллер представления, чтобы добавить строку к объекту Core Data, но когда я добавляю объект в контроллер представления, он также добавляет дополнительную дополнительную строку для объекта.Swift Core Data добавляет дополнительную пустую строку

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

let moc = DataController().managedObjectContext 
let newRow = NSEntityDescription.insertNewObjectForEntityForName("Persons", inManagedObjectContext:moc) as! Persons 
newRow.name = name.text 
newRow.age = NSNumber(int: 34) 
do { 
    try moc.save() 
} catch { 
    fatalError("failure to save context: \(error)") 
} 

Почему это происходит?

+0

Никогда не видел, чтобы кто-то использовал moc из другого VC. Я не думаю, что это должно вызвать проблемы. Но это единственное, что я вижу в этом фрагменте кода, который неуместен. –

+0

Можете ли вы объяснить, что вы подразумеваете под «добавляет лишнюю пустую строку к сущности»? –

+0

Вы что-то записали? –

ответ

1

Похоже, вы создаете объект дважды.

Один из способов отладки заключается в том, чтобы реализовать awakeFromInsert в вашем классе Persons, установить точку останова и проверить, какая часть кода вызывает ее.

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