IOS-Swift-核心数据-加载值
我第一次使用CoreData 我已经完成了保存教程中的值的工作,eVerything工作得很好 我创建了.swift文件,其中包含保存特定对象状态的所有函数。这些值可以是“开”或“关”,并具有自开或自关功能 这些值是如何保存的:IOS-Swift-核心数据-加载值,ios,swift,core-data,Ios,Swift,Core Data,我第一次使用CoreData 我已经完成了保存教程中的值的工作,eVerything工作得很好 我创建了.swift文件,其中包含保存特定对象状态的所有函数。这些值可以是“开”或“关”,并具有自开或自关功能 这些值是如何保存的: func objectON() { let entityDescription = NSEntityDescription.entityForName("Groops", inManagedObjectContext: managedObjectContext!
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
}
所以我可以在{code}
有人能帮我一下这项功能吗?你正在使用的教程有一个解决方案,它在“使用核心数据从持久存储中检索数据”下 您只需从持久存储中获取数据。然后你可以用你的数据做任何你想要的
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过滤数据,请查看谓词的工作方式。谢谢,我已经完成了该功能,出现了另一个问题。当我加载key的值时,只有当它是Groops.swift和.xcdatamodeld中的第一个key时,它才起作用。其他人则给出错误“在展开可选值时发现为零”