Objective c 从类方法获取NSManagedObject的NSEntityDescription

Objective c 从类方法获取NSManagedObject的NSEntityDescription,objective-c,cocoa,core-data,nsmanagedobject,class-method,Objective C,Cocoa,Core Data,Nsmanagedobject,Class Method,我正在向NSManagedObject添加一些类方法,在其中一个方法中,我需要获得它的NSEntityDescription。问题是,entity是一个实例方法,我不知道如何从类方法访问它 除了创建一个仅用于访问此属性的虚拟实例之外,还有其他方法可以做到这一点吗?听起来像一个可怕的黑客…NSManagedObject类无法了解NSEntityDescription仅仅因为类级别没有实体。查看-(instancetype)initWithEntity:(NSEntityDescription*)实

我正在向
NSManagedObject
添加一些类方法,在其中一个方法中,我需要获得它的
NSEntityDescription
。问题是,
entity
是一个实例方法,我不知道如何从类方法访问它


除了创建一个仅用于访问此属性的虚拟实例之外,还有其他方法可以做到这一点吗?听起来像一个可怕的黑客…

NSManagedObject
类无法了解
NSEntityDescription
仅仅因为类级别没有
实体。查看
-(instancetype)initWithEntity:(NSEntityDescription*)实体
插入ManagedObjectContext:(NSManagedObjectContext*)上下文
;在用实体描述初始化它之后,当然可以从实例中检索它

实现您所描述内容的一种方法是为核心数据实体提供一个
NSManagedObject
子类(这是一种推荐的方法),并提供一个class方法
+(NSString)entityName
,该方法将返回表示核心数据模型中实体名称的字符串

+ (NSString *)entityName {
    return @"MyEntity";
}
如果我们假设类名和实体名相同,您可以执行以下操作:

+ (NSString *)entityName {
    return NSStringFromClass(self);
}

希望能有所帮助。

NSManagedObject
类无法了解
NSEntityDescription
,因为类级别没有
实体。查看
-(instancetype)initWithEntity:(NSEntityDescription*)实体
插入ManagedObjectContext:(NSManagedObjectContext*)上下文
;在用实体描述初始化它之后,当然可以从实例中检索它

实现您所描述内容的一种方法是为核心数据实体提供一个
NSManagedObject
子类(这是一种推荐的方法),并提供一个class方法
+(NSString)entityName
,该方法将返回表示核心数据模型中实体名称的字符串

+ (NSString *)entityName {
    return @"MyEntity";
}
如果我们假设类名和实体名相同,您可以执行以下操作:

+ (NSString *)entityName {
    return NSStringFromClass(self);
}

希望能有所帮助。

NSManagedObject
类无法了解
NSEntityDescription
,因为类级别没有
实体。查看
-(instancetype)initWithEntity:(NSEntityDescription*)实体
插入ManagedObjectContext:(NSManagedObjectContext*)上下文
;在用实体描述初始化它之后,当然可以从实例中检索它

实现您所描述内容的一种方法是为核心数据实体提供一个
NSManagedObject
子类(这是一种推荐的方法),并提供一个class方法
+(NSString)entityName
,该方法将返回表示核心数据模型中实体名称的字符串

+ (NSString *)entityName {
    return @"MyEntity";
}
如果我们假设类名和实体名相同,您可以执行以下操作:

+ (NSString *)entityName {
    return NSStringFromClass(self);
}

希望能有所帮助。

NSManagedObject
类无法了解
NSEntityDescription
,因为类级别没有
实体。查看
-(instancetype)initWithEntity:(NSEntityDescription*)实体
插入ManagedObjectContext:(NSManagedObjectContext*)上下文
;在用实体描述初始化它之后,当然可以从实例中检索它

实现您所描述内容的一种方法是为核心数据实体提供一个
NSManagedObject
子类(这是一种推荐的方法),并提供一个class方法
+(NSString)entityName
,该方法将返回表示核心数据模型中实体名称的字符串

+ (NSString *)entityName {
    return @"MyEntity";
}
如果我们假设类名和实体名相同,您可以执行以下操作:

+ (NSString *)entityName {
    return NSStringFromClass(self);
}

希望有帮助。

事实上,如果您使用生成托管对象类,它会为您创建那些方便的方法。有一个新的类方法从macOS 10.12和iOS 10开始:
class func entity()->NSEntityDescription
事实上,如果您使用生成托管对象类,它为您创建了这些方便的方法。从macOS 10.12和iOS 10开始,有一个新的类方法:
class func entity()->NSEntityDescription
,事实上,如果您使用它来生成托管对象类,它为您创建了这些方便的方法。从macOS 10.12和iOS 10开始,有一个新的类方法:
class func entity()->NSEntityDescription
,事实上,如果您使用它来生成托管对象类,它为您创建了这些方便的方法。有一个从macOS 10.12和iOS 10开始的新类方法:
class func entity()->NSEntityDescription