我想知道是否有办法阻止核心数据从核心数据模型实体生成公共类。
目前它会生成如下类:
import Foundation
import CoreData
public class MyEntityMO: NSManagedObject {
}
extension MyEntityMO {
@nonobjc public class func fetchRequest() -> NSFetchRequest<RecordSettingMO> {
return NSFetchRequest<RecordSettingMO>(entityName: "RecordSettingMO")
}
@NSManaged public var someBoolean: Bool
}
但我希望它像这样(使用内部访问修饰符):
import Foundation
import CoreData
internal class MyEntityMO: NSManagedObject {
}
extension MyEntityMO {
@nonobjc internal class func fetchRequest() -> NSFetchRequest<RecordSettingMO> {
return NSFetchRequest<RecordSettingMO>(entityName: "RecordSettingMO")
}
@NSManaged internal var someBoolean: Bool
}
答案 0 :(得分:1)
Xcode没有提供任何方法来进行此更改。要使用internal
,您需要关闭自动子类生成并创建自己的子类。
您可以使用问题中的代码。获取当前代码,保存副本并关闭自动生成。然后编辑您的副本。但是您也必须自己进行所有未来的编辑,因此如果您将来更改模型,请确保也编辑您的子类。