SWIFT CoreData获取和捕获错误

时间:2016-04-09 21:27:08

标签: swift core-data error-handling

我不确定为什么会这样。我的fetch和catch语句给出了错误,如图所示。为简单起见,删除了其他代码。

感谢您提供的任何帮助。 谢谢, 比尔

var results = try managedObjectContext.executeFetchRequest(request)             //警告:不处理从此处抛出的错误

捕获错误,因为NSError {status.text = error.localizedFailureReason}             //错误:连续语句必须用';'

分隔
import Foundation
import CoreData
import UIKit

class sampleFetchCatchError: UIViewController, UIPickerViewDelegate{
 let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
 var food = [String]()

    @IBOutlet weak var firstname: UITextField!
    @IBOutlet weak var status: UILabel!

    override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

    @IBAction func findClient(sender: AnyObject) {

    let entityDescription = NSEntityDescription.entityForName("Contacts", inManagedObjectContext: managedObjectContext)
    let request = NSFetchRequest()
    request.entity = entityDescription
    let pred = NSPredicate(format: "(firstname = %@)", firstname.text!)
    request.predicate = pred

    do {

        var results = try managedObjectContext.executeFetchRequest(request)
        // warning: Errors thrown from here are not handled

        catch let error as NSError {status.text = error.localizedFailureReason}
        // error:  consecutive statement must be separated by ';'


    } // close do statement
    } //close IBAction
override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
    }
} // close class

0 个答案:

没有答案