我在用swift3学习ios开发。我制作了表,然后转到EDIT->createNSManagedObject子类。问题是生成的类有很多错误这里是生成的代码

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)

}

这就是它给我的错误
@NSManaged只允许用于实例属性或方法}
那为什么呢?我错过了什么?

最佳答案

在Swift 3上,您不必创建NSManagedObject子类,系统将为您生成它,这样您就可以在没有它的情况下访问它。
但是,如果仍然要生成它,请转到xcdatamodel并确保将数据模型inspetor上的Codegen设置为“Manual/None”,然后生成它:
I've attached this image for you

10-08 15:43