我第一次使用CoreData 我已经完成了从this教程中保存值的工作,并且ewerything正常工作。
我创建了.swift文件,其中包含保存特定对象状态的所有函数。使用自身开启或关闭功能,冷值可以“开启”或“关闭”。
值是如何保存的:
func objectON()
{
let entityDescription = NSEntityDescription.entityForName("Groops", inManagedObjectContext: managedObjectContext!)
let Groop = Groops(entity: entityDescription!, insertIntoManagedObjectContext: managedObjectContext)
Groop.object = "on"
var error: NSError?
managedObjectContext?.save(&error)
if let err = error {
println(err.localizedFailureReason)
}
}
但我在加载数据时遇到了麻烦。在我的情况下使用教程版本真的很不舒服。
如果我创建单个函数,将在具有保存功能的相同.swift文件中打开或关闭值,这将是很好的。并且可能看起来像这样
func loadValue(object: String) -> String {
var value = "loadedValue"
return value
}
所以我可以使用if returnedValue == "on" { code }
有人可以用tis功能来帮助我吗?
答案 0 :(得分:0)
您正在使用的教程为您提供了解决方案,它位于“使用核心数据从持久性存储中检索数据”。
您只需从持久存储中获取数据即可。然后,您可以根据自己的数据制作任何内容。
let appDel = UIApplication.sharedApplication().delegate as! AppDelegate
let moc = appDel.managedObjectContext!
let req = NSFetchRequest(entityName:"Groops")
var error: NSError?
let results = moc.executeFetchRequest(req, error: &error) as! [Groops]
if results.count > 0 {
println("I have my saved data and I can do something now")
}
如果您想使用fetchrequest过滤数据,请查看谓词的工作方式。