在Swift中自动获取保存的核心数据

时间:2015-01-27 15:55:36

标签: xcode swift core-data load fetch

目前,当前的Swift代码允许我保存和加载数据。但是,不是通过单击加载按钮来加载数据,而是如何在不单击btnLoad的情况下自动加载数据?

我希望数据一旦保存就检索并通过CoreData自动填写UITextfield。通过这样做,我不需要btnLoad选项。

@IBAction func btnSave() {

        var appDel: AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
        var context: NSManagedObjectContext = appDel.managedObjectContext!

        var newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context) as NSManagedObject
        newUser.setValue(name.text, forKey: "name")
        newUser.setValue(phone.text, forKey: "phone")

        context.save(nil)

        println(newUser)
        println("Object Saved")

    }

    @IBAction func btnLoad() {

        var appDel: AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
        var context: NSManagedObjectContext = appDel.managedObjectContext!

        var request = NSFetchRequest(entityName: "Users")
        request.returnsObjectsAsFaults = false
        request.predicate = NSPredicate(format: "name = %@", name.text)

        var results: NSArray = context.executeFetchRequest(request, error: nil) as [NSManagedObject]!

        if(results.count > 0) {
            var res = results[0] as NSManagedObject
            name.text = res.valueForKey("name") as String
            phone.text = res.valueForKey("phone") as String

        } else {
            println("0 Results Returned... Potential Error")
        }

0 个答案:

没有答案