0

今日の拡張機能を使用して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 の保存/読み込みにするにはどうすればよいですか?

4

0 に答える 0