我正在声明像这样的通常的managedobject类
public extension Camper {
@nonobjc class func fetchRequest() -> NSFetchRequest<Camper> {
return NSFetchRequest<Camper>(entityName: "Camper")
}
@NSManaged var fullName: String?
@NSManaged var phoneNumber: String?
@NSManaged var reservations: Reservation?
}
我对这个具体情况中@nonobjc
属性的意图感到困惑。
答案 0 :(得分:1)
通常,您会使用@nonobjc注释来解决这会产生的循环依赖性问题。 例如,你在swift中定义一些东西,它使用objc中定义的东西,它使用了这个&#34;某些东西&#34;从快速再次。 这不起作用,因为您需要将objc中的桥接头导入swift,反之亦然。如果您不提供此@nonobjc注释,则编译器无法解决此问题。
请参阅Apple的文档,了解如何使用@objc和@nonobjc:https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithObjective-CAPIs.html