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"
我尝试解决此问题的步骤:
- 尝试捕捉
- 使用Xcode7
我的代码:
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)
我在试验 Xcode 核心数据时遇到了一个问题。
这是我使用的教程的 link:LINK
我还想提一下,我尝试用谷歌搜索这个,但没有运气自己弄清楚。希望你们中的一个能帮我解决这个问题。
错误行
下面一行代码:"var results:NSArray = context.executeFetchRequest(request, error: nil)" 一直给我警告 "Extra argument 'error' in call"
我尝试解决此问题的步骤:
- 尝试捕捉
- 使用Xcode7
我的代码:
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)