#macos #core-data #swift
#macos #core-data #swift
Вопрос:
Я новичок в Swift и Core data. Я создал простое приложение OS X с использованием core data. Итак, в AppDelegate.swift много автоматически сгенерированного кода. Я просто хочу сохранить имя и фамилию при нажатии кнопки в главном меню.xib Я некоторое время искал, как использовать core data в приложении OS X с использованием swift, но безуспешно. Это мой код:
@IBAction func buttonAggiungiNewDipendentePressed(sender : AnyObject) {
println("Button pressed from popover");
//var AppDel:AppDelegate = (NSApplication.sharedApplication().delegate as AppDelegate)
let context = self.managedObjectContext!
var nome = popAggiungiDipendenteNome.stringValue;
var cognome = popAggiungiDipendenteCognome.stringValue;
var newUser = NSEntityDescription.insertNewObjectForEntityForName("Dipendenti", inManagedObjectContext: context) as NSManagedObject
newUser.setValue(nome, forKey: "nome")
newUser.setValue(cognome, forKey: "cognome")
context.save(nil)
popover.performClose(true);
}
Я получаю следующий сбой: Поток 1: EXC_BAD_INSTRUCTION (code= EXC_I386_INVOP, subcode = 0x0) внутри автоматически генерируемого кода в AppDelegate.swift:
var managedObjectModel: NSManagedObjectModel? {
// Creates if necessary and returns the managed object model for the application.
if let mom = _managedObjectModel {
return mom
}
let modelURL = NSBundle.mainBundle().URLForResource("ElencoTelefonicoAkhela2", withExtension: "momd")
_managedObjectModel = NSManagedObjectModel(contentsOfURL: modelURL)
return _managedObjectModel!
}
var _managedObjectModel: NSManagedObjectModel? = nil
Когда он пытается вернуть managedObjectModel. Есть идеи? Заранее спасибо
Ответ №1:
вместо insertNewObjectForEntityForName используйте:
let en = NSEntityDescription.entityForName("Photo", inManagedObjectContext: context)
let photo:Photo = Photo(entity:en, insertIntoManagedObjectContext:context)