gpt4 book ai didi

ios - 从一对多关系中获取 NSEntityDescription

转载 作者:行者123 更新时间:2023-11-29 12:42:12 26 4
gpt4 key购买 nike

我有一个名为“录音”的具有一对多关系的用户实体。

生成的界面是这样的:

@interface User : NSManagedObject
@property (nonatomic, retain) NSString * display_name;
// ...
@property (nonatomic, retain) NSSet *recordings; // <-- this one
@end

@interface User (CoreDataGeneratedAccessors)
- (void)addRecordingsObject:(Recording *)value;
- (void)removeRecordingsObject:(Recording *)value;
- (void)addRecordings:(NSSet *)values;
- (void)removeRecordings:(NSSet *)values;
@end

我将这个用户保存在整个应用程序中使用的 session 对象(单例)中。为了添加录音,我创建了一个方便的方法,它将返回一个空的“录音”对象,然后可以通过调用代码填充该对象:

- (Recording *)newRecording
{
Recording *recording = [NSEntityDescription
insertNewObjectForEntityForName:@"Recording"
inManagedObjectContext:self.managedObjectContext];

return recording;
}

我将 @"Recording" 实体名称传递给 insertNewObjectForEntityForName::,这工作正常;但是,我不喜欢我的对象知道其 .recordings 关系属性的实际实体名称。

有没有一种简单的方法可以让我说“为这个关系创建一个新对象”?

最佳答案

你可以看看mogenerator以及它添加的便利方法,允许您向 NSManagedObject 子类询问其实体名称。这将是对您当前代码的最小更改。

否则,您将使用实体描述来获取 relationshipsByName,使用相关联的关系描述来获取 destinationEntity,然后您将获得 name 你需要的。您可以将其添加为类别方法,以便于访问。

关于ios - 从一对多关系中获取 NSEntityDescription,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24584029/

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