Xcode 7 "Extra argument 'error' in call" 核心数据错误

Xcode 7 "Extra argument 'error' in call" Core Data Error

我在试验 Xcode 核心数据时遇到了一个问题。

这是我使用的教程的 link:LINK

我还想提一下,我尝试用谷歌搜索这个,但没有运气自己弄清楚。希望你们中的一个能帮我解决这个问题。

错误行

下面一行代码:"var results:NSArray = context.executeFetchRequest(request, error: nil)" 一直给我警告 "Extra argument 'error' in call"

我尝试解决此问题的步骤:

我的代码:

import UIKit
import CoreData

class vcMain: UIViewController {

    @IBOutlet var txtUsername: UITextField!
    @IBOutlet var txtPassword: UITextField!

    @IBAction func btnSave(){
        let appDel:AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
        let context:NSManagedObjectContext = appDel.managedObjectContext

        let newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context) as NSManagedObject

        newUser.setValue("Test Username", forKey: "username")
        newUser.setValue("Test Password", forKey: "password")

        //saves
        do {
            try context.save()
        } catch {}


        print(newUser)
        print("Object Saved.")
    }

    @IBAction func btnLoad(){
        let appDel:AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
        let context:NSManagedObjectContext = appDel.managedObjectContext

        let request = NSFetchRequest(entityName: "Users")
        request.returnsObjectsAsFaults = false;

        // currently being worked on to restore saved data

        var results:NSArray = context.executeFetchRequest(request, error: nil)
        if (results.count > 0) {
            for res in results{
                print(res)
            }
        } else {
            print("0 results returned... Potential Error")
        }
    }


    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

这个API不接受额外的参数。 swift中的原型是-

func executeFetchRequest(_ request: NSFetchRequest) throws -> [AnyObject]

如果有任何问题,此调用可能会引发异常。因此,您需要将其包含在 do..try 中并根据需要处理异常。

换行

   var results:NSArray = context.executeFetchRequest(request, error: nil)

   var results:NSArray = context.executeFetchRequest(request)