我不确定为什么会这样。我的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