gpt4 book ai didi

objective-c - 从类方法获取 NSManagedObject 的 NSEntityDescription

转载 作者:行者123 更新时间:2023-12-03 17:33:50 27 4
gpt4 key购买 nike

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

除了创建一个虚拟实例来访问此属性之外,还有什么方法可以做到这一点吗?听起来像是一个可怕的黑客......

最佳答案

NSManagedObject 类无法了解 NSEntityDescription 仅仅是因为在类级别没有实体。查看 - (instancetype)initWithEntity:(NSEntityDescription *)entity
insertIntoManagedObjectContext:(NSManagedObjectContext *)context
;在使用实体描述初始化它之后,您将能够从当然的实例中检索它。

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

+ (NSString *)entityName {
return @"MyEntity";
}

如果我们假设类名称和实体名称相同,您可以这样做:

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

希望有帮助。

关于objective-c - 从类方法获取 NSManagedObject 的 NSEntityDescription,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27218416/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com