2017-03-13 3 views
-2

Hier ist mein Code für ein Programm, das tatsächlich für eine andere Anwendung gearbeitet hat, aber hier, wenn ich es wieder verwende, Wert des Typs 'AnyObject' hat kein Mitglied 'Alter'Wert des Typs 'AnyObject' hat kein Mitglied Alter

dies ist der Code i verwendet, um die Daten zu Coredata zu speichern

  let user = User(context: context) 
      user.name = username.text! 
      user.age = Int16(userage.text!)! 
      appDelegate.saveContext() 

      print("user name and age saved") 

unten I Aktionstaste bin mit Kerndaten abrufen

@IBAction func retrieve(_ sender: UIButton) { 

    do { 
     let data = try context.fetch(User.fetchRequest()) 

     for each in data { 

     print("Name : \((each as AnyObject).name! ?? "name!")\nAge : \((each as AnyObject).age!)\n") 
     } 
    } 
    catch { 
     // handle error 
    } 
} 

mir bitte helfen, wo ich falsch bin auch rasche scheint un nicht die konkrete Art aufschütten User auf nicht näher bezeichnete AnyObject

print("Name : \(each.name)\nAge : \(each.age)\n") 

vorhersehbar, wenn manchmal ‚Nutzer‘ von Coredata Einheit unter Verwendung sie nicht erkennen

Antwort

0

tun, wenn Sie Compiler-Fehler die allgemeine Syntax von FetchRequest

+0

konsolidieren erhalten Nein, das ist nicht korrekt, schnelle zwingt Sie, jedes als AnyObject zu akzeptieren – Codicil

+0

Dann ist Ihre Core Data-Umgebung falsch. 'fetch' mit einer generischen Anfrage soll ein Array des zugehörigen Typs zurückgeben. Versuchen Sie diese Syntax: 'try context.fetch (User.fetchRequest()) as! [Benutzer] ' – vadian

Verwandte Themen