IOS - Swift - 核心数据 - 加载值

时间:2015-05-25 17:43:31

标签: ios swift core-data

我第一次使用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功能来帮助我吗?

1 个答案:

答案 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过滤数据,请查看谓词的工作方式。

相关问题