2017-03-28 1 views
0

Ich habe ein paar Tutorials auf Youtube verfolgt, um bestimmte Dinge in meinem eigenen Projekt zu erledigen. Dieser speziell: https://www.youtube.com/watch?v=da6W7wDh0Dw&t=1121sWie wird eine Unterklasse basierend auf einer Entität in Core-Daten erstellt?

Er wies die Benutzer an, eine Unterklasse für Ihre Entitäten zu erstellen. Ich tat dies und hoffte auf dasselbe, was er auch hatte. Ich habe jedoch eine Menge Fehler bekommen ... Ich habe meine .xcdatamodeld-Datei gelöscht und geplant, es zu tun, weil ich vielleicht gerade etwas falsch gemacht habe und nachdem ich es gelöscht habe, sind diese Fehler weg. Nicht sicher, warum das wäre? Nichtsdestoweniger habe ich den Prozess neu gemacht und es einfacher gemacht, aber genau das ist passiert.

Hier ist der Code, der beim Erstellen der Unterklassen automatisch generiert wurde.

für CoreDataClass Datei

import Foundation 
import CoreData 

@objc(GeneralEvaluation) 
public class GeneralEvaluation: NSManagedObject { 

} 

Ich erhalte eine Fehlermeldung, "Ungültige Deklaration von 'GeneralEvaluation'".

für CoreDataProperties

import Foundation 
import CoreData 


extension GeneralEvaluation { 

    @nonobjc public class func fetchRequest() -> NSFetchRequest<GeneralEvaluation> { 
     return NSFetchRequest<GeneralEvaluation>(entityName: "GeneralEvaluation"); 
    } 

    @NSManaged public var scenarioNumber: Int16 
    @NSManaged public var totalScore: Int16 
    @NSManaged public var washScore: Int16 
    @NSManaged public var idScore: Int16 
    @NSManaged public var courseNumber: String? 

} 

Datei erhalte ich hier mehrere Fehler.

  • „‚GeneralEvaluation‘mehrdeutig ist für Typ-Nachschlag in diesem Zusammenhang“ (dies für beide Linien ist extension GeneralEvaluation und die Leitung mit @nonobj beginnend)
  • „‚NSManaged‘auf einer Instanz Eigenschaft oder eine Methode“
  • „Erweiterungen können nicht gespeichert Eigenschaften enthalten“ (beide dieser Fehler gelten für alle Linien mit @NSManaged beginnend)

Hier ist ein Screenshot von meinem Modell ...

Here is a screenshot of my model...

Was hätte ich tun können, dass dieser Prozess so reibungslos verlaufen ist?

Antwort

0

Ich denke, Sie verwenden iOS 10. Bitte überprüfen Sie, dass sie CoreData API aktualisieren. Mit Codegenerationen. Überprüfen Sie das Kerndatenupdate für iOS 10. 1. Wählen Sie Entität. 2.Add Attribute. 3.Now Select Entity und auf der rechten Seite drücken Sie Befehl + Alt (Option) + 3. Sie werden zu "Show Data Inspector" angezeigt. 4.In diesem Bereich können Sie "Codegen" unter "Klasse" finden. Es ist ein Dropdown-Button. 5.Es gibt drei Optionen a) Manuell/Keine
b) Klassendefinition c) Category Extension. Wenn Sie Manula/None auswählen, müssen Sie manuell Unterklassen generieren. oder wenn Sie die Klassendefinition ausgewählt haben, müssen keine Unterklassen generiert werden, da xcode automatisch den Überblick behält. enter image description here

enter image description here

+0

Ich suchte nach Updates auf meinem Computer, dass ein Systemupdate oder für Xcode sein würde? –

+0

Auch ich benutze iOS 10.12.3 –

+0

Check in WWDC Ich erinnere mich nicht an die Sitzungsnummer. Suchen Sie einfach nach Kerndaten. –

Verwandte Themen