Core data 如何使核心数据生成的代码使用内部访问器?Swift 4,Xcode 9.2

Core data 如何使核心数据生成的代码使用内部访问器?Swift 4,Xcode 9.2,core-data,nsmanagedobject,access-modifiers,codegen,Core Data,Nsmanagedobject,Access Modifiers,Codegen,我想知道是否有任何方法可以阻止核心数据从核心数据模型实体生成公共类 目前它生成如下类: import Foundation import CoreData public class MyEntityMO: NSManagedObject { } extension MyEntityMO { @nonobjc public class func fetchRequest() -> NSFetchRequest<RecordSettingMO> {

我想知道是否有任何方法可以阻止核心数据从核心数据模型实体生成公共类

目前它生成如下类:

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
}
<代码>导入基础 导入CoreData 公共类MyEntityMO:NSManagedObject{ } 延髓{ @nonobjc公共类func fetchRequest()->NSFetchRequest{ 返回NSFetchRequest(entityName:“RecordSettingMO”) } @NSManaged公共变量someBoolean:Bool } 但我希望它是这样的(使用内部访问修饰符):

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
}
<代码>导入基础 导入CoreData 内部类MyEntityMO:NSManagedObject{ } 延髓{ @nonobjc内部类func FETCHTREQUEST()->NSFETCHTREQUEST{ 返回NSFetchRequest(entityName:“RecordSettingMO”) } @NSManaged内部变量someBoolean:Bool }
Xcode不提供进行此更改的任何方法。要使用
internal
,您需要关闭自动子类生成,并创建自己的子类

你可以在你的问题中使用你的代码。获取当前代码,保存副本,然后关闭自动生成。然后编辑你的副本。但是,您还必须自己进行将来的所有编辑,因此,如果您将来更改模型,请确保同时编辑您的子类