我试图将数据保存到coredata,但我从insertIntoManagedObjectContext中“意外地发现了零,同时展开一个可选值”错误。 我仔细检查了我的实体(文章),属性(articleID,isFavorite)的命名。swift - CoreData inManagedObjectContext为零
但我找不到错误的原因。
func saveArticleAsFav(articleID: Int){
let isFav = true
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext!
let entity = NSEntityDescription.entityForName("Article", inManagedObjectContext: managedContext)
// Error here:
let item = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: managedContext)
item.setValue(articleID, forKey: "articleID")
item.setValue(isFav, forKey:"isFavorite")
var error: NSError?
if !managedContext.save(&error){
println("Could not save \(error), \(error?.userInfo)")
}
articleLocalData.append(item)
println(self.articleLocalData)
}
编辑:我试图初始化coredata:
import Foundation
import CoreData
class saveArticleAsFav {
var articleLocalData = [NSManagedObject]()
var context:NSManagedObjectContext
init(context:NSManagedObjectContext) {
self.context = context
}
func saveArticleAsFav(articleID: Int){
let isFav = true
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext!
let entity = NSEntityDescription.entityForName("Article", inManagedObjectContext: managedContext)
let item = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: managedContext)
item.setValue(articleID, forKey: "articleID")
item.setValue(isFav, forKey:"isFavorite")
var error: NSError?
if !managedContext.save(&error){
println("Could not save \(error), \(error?.userInfo)")
}
articleLocalData.append(item)
println(self.articleLocalData)
}
}
然后我叫我的邮件的tableview的FUNC:并得到了以下错误:与 “无法调用初始化类型‘saveArticleAsFav’类型“(条款ArticleID:智力)”的参数列表”
saveArticleAsFav(articleID: articleID!)
请不要覆盖您之前的问题。否则其他人将无法理解答案。 – Mundi