2016-12-08 7 views
0

Ich lerne ios Entwicklung mit swift3. Ich habe meine Tabellen erstellt und gehe dann zu EDIT -> create Unterklasse. Das Problem ist, dass generierten Klassen viele Fehler hat hier den generierten Codeios swift3 xcode8 coredata

Store+CoreDataClass.swift 
import Foundation 
import CoreData 

@objc(Store) 
public class Store: NSManagedObject { 

} 

import Foundation 
import CoreData 


extension Store { 

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

    @NSManaged public var name: String? 
    @NSManaged public var toImage: Image? 
    @NSManaged public var toItem: NSSet? 

} 

Store+CoreDataProperties.swift 
// MARK: Generated accessors for toItem 
extension Store { 

    @objc(addToItemObject:) 
    @NSManaged public func addToToItem(_ value: Item) 

    @objc(removeToItemObject:) 
    @NSManaged public func removeFromToItem(_ value: Item) 

    @objc(addToItem:) 
    @NSManaged public func addToToItem(_ values: NSSet) 

    @objc(removeToItem:) 
    @NSManaged public func removeFromToItem(_ values: NSSet) 

} 

Und hier ist der Fehler, den es gibt mir

@NSManaged nur erlaubt auf einer Instanzeigenschaft oder -methode}

Also warum ist das? Was ich vermisse?

Antwort

4

In Swift 3 müssen Sie keine NSManagedObject-Unterklasse erstellen, das System generiert sie für Sie, damit Sie ohne sie darauf zugreifen können. Allerdings, wenn Sie es trotzdem erzeugen wollen, gehen Sie auf die xcdatamodel und stellen Sie sicher, dass die Codegen über das Datenmodell inspetor, um „Manuell/None“, zu sein, und es dann generieren:

I've attached this image for you

+0

, die tatsächlich hat nichts mit Swift 3 zu tun. Es ist Xcode 8, der die Unterklassen erstellt. –

Verwandte Themen