今日の拡張機能を使用してcoreDataにデータを追加したいのですが、いくつかの問題が発生します:
「CoreData: エラー: NSManagedObject クラスで指定された初期化子を呼び出せませんでした」
と
"sharedpplication()' は使用できません。代わりに適切な場所で View Controller ベースのソリューションを使用してください"
私はこのクラスviewController
をToday Extensionで使用しています:
let chestModel=Chest()
これは私のクラスコードです:
class Chest: NSManagedObject {
let moc = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
let request = NSFetchRequest(entityName: "Chest")
func newChest(no:String,type:String){
let chest = NSEntityDescription.insertNewObjectForEntityForName("Chest", inManagedObjectContext: self.moc) as! Chest
chest.no=no
chest.type=type
do{
try self.moc.save()
}catch{
fatalError("Save failed")
}
}
func chestCount()-> Int{
do{
let results = try moc.executeFetchRequest(request) as! [Chest]
return results.count
}catch{
fatalError("GetCount Failed!!")
}
}
}
この問題を解決し、today 拡張機能を coreData の保存/読み込みにするにはどうすればよいですか?