2016-03-10 5 views
1

Как определить объекты в коде и какого типа?Использование объектов неразрешенного идентификатора

override func viewDidLoad() { 
    super.viewDidLoad() 
    let appDelegate=UIApplication.sharedApplication().delegate as! AppDelegate 
    let context=appDelegate.managedObjectContext 
    let request=NSFetchRequest(entityName:lineEntityName) 
    do{ 
     let objects = try context.executeFetchRequest(request) 
    } 
    catch let error as NSError { 

     print(error) 
    } 

    if let objectList=objects 
    { 
     for oneObject in objectList 
     { 
      let lineNum=oneObject.valueForKey(lineNumberKey) as integerValue 
      let lineText=oneObject.valueForKey(lineTextKey) as String 
      let lineField=lineFields(lineNum) 
      textField.text=lineText 
     } 
    } 
    else 
    { 
     print("There was an Error") 
    } 
    let app=UIApplication.sharedApplication() 
    NSNotificationCenter.defaultCenter().addObserver(self, selector:"applicationWillResignActiveNotification", name: UIApplicationWillResignActiveNotification, object: app) 
    // Do any additional setup after loading the view, typically from a nib. 
} 
+0

определять объекты перед оператором catch catch. – sourav

ответ

0

Рекомендуемый способ поставить все хороший код в пункте do, который решает эту проблему.

И executeFetchRequest возвращает необязательный массив, поэтому необязательное связывание может быть опущено.

override func viewDidLoad() { 
    super.viewDidLoad() 
    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
    let context = appDelegate.managedObjectContext 
    let request = NSFetchRequest(entityName:lineEntityName) 
    do { 
     let objects = try context.executeFetchRequest(request) 
     for oneObject in objects 
     { 
      let lineNum = oneObject.valueForKey(lineNumberKey) as integerValue 
      let lineText = oneObject.valueForKey(lineTextKey) as String 
      let lineField = lineFields(lineNum) 
      textField.text = lineText 
     } 

     let app = UIApplication.sharedApplication() 
     NSNotificationCenter.defaultCenter().addObserver(self, selector:"applicationWillResignActiveNotification", name: UIApplicationWillResignActiveNotification, object: app) 
     // Do any additional setup after loading the view, typically from a nib. 
     } 
    catch let error as NSError { 
     print(error) 
    } 
} 
Смежные вопросы