Я пытаюсь использовать основные данные со скоростью. И я получилSwift - дополнительная аргументация 'error' в вызове/nil/call может вызывать
Nil не совместим с ожидаемым типом аргумента «()» и вызов может бросить, но он не отмечен «попробовать», и ошибка не обрабатывается
на «context.save (ноль)»
и
дополнительный аргумент 'ошибка' в вызове на "результат вар: NSArray = context.executeFetchRequest (запрос, ошибка: ноль)"
, что случилось?
import UIKit
import CoreData
class vcMain: UIViewController {
@IBOutlet var txtUsername: UITextField!
@IBOutlet var txtPassword: UITextField!
@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("Test Username", forKey: "username")
newUser.setValue("Test Password", forKey: "password")
print(newUser)
print("SAVED")
context.save(nil)
}
@IBAction func btnLoad(){
var appDel: AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
var context: NSManagedObjectContext = appDel.managedObjectContext
var request = NSFetchRequest(entityName: "Users")
request.returnsObjectsAsFaults = false;
var result: NSArray = context.executeFetchRequest(request, error:nil)
// - (nullable NSArray *)executeFetchRequest:(NSFetchRequest *)request error:(NSError **)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.
}
}
Вы используете Swift 1 в Xcode 7. Но Xcode 7 поставляется с Swift 2. Преобразовать код для Swift 2. Для вашего конкретного случая поиска SO уже есть примеры. – Moritz