iphone - 核心数据 : Creating Relationships

标签 iphone ios objective-c xcode core-data

这个问题在这里已经有了答案:





Core Data Relationships: How to insert a new object into an entity and create a relationship to an existing object in another entity

(3 个回答)


8年前关闭。




我想知道是否有人愿意帮助我解决与核心数据相关的问题。我正在构建一个 iPhone 应用程序,现在需要创建从一个实体到另一个实体的关系。

我是核心数据、 objective-c 和坦率地说是整个应用程序开发过程的新手,所以如果你有答案,请记住我可能会觉得很难理解 :-( 我花了很长时间浏览网页和阅读Apple 的文档,只是无法解决这个问题。

我正在尝试将新数据插入实体并与不同实体中的现有对象建立关系。我已经建立了我的数据模型,创建了我的 NSManagedObjectSubClasses 并且可以将数据插入和管理到单个实体中,我只是无法弄清楚如何使用关系。

例如,假设我有一个名为 Article 的实体另一个名为 Author .我已经有一个作者列表。当我创建一篇新文章时,如何将这篇新文章链接到具有关系的现有作者?

我需要哪一行代码来创建这种关系?

创建该链接需要哪些信息?

我感觉我的问题在于我试图与之建立关系的数据类型。 NSIndexPath、NSManagedObject 和 NSMutableSet 似乎不正确。

任何帮助将不胜感激,谢谢。

最佳答案

您创建关系作为设计实体的一部分,而不是在代码行中。假设您希望拥有与多个作者的文章的能力,您需要查看多对多类型的关系。 (作者将有一个称为文章的一对多关系,而文章将有一个称为作者的一对多关系,这是它的逆。)

然后,您可以创建 Author 和 Article 子类,链接它们的对象的代码类似于:[myAuthor addArticlesObject:myArticle]; .

例如:

Author *myAuthor = [NSEntityDescription insertNewObjectForEntityForName:@"Author"
                                                 inManagedObjectContext:self.managedObjectContext];
myAuthor.name = @"Phillip Mills";
Article *myArticle = [NSEntityDescription insertNewObjectForEntityForName:@"Article"
                                                   inManagedObjectContext:self.managedObjectContext];
myArticle.title = @"Sample of linking core data entities";

NSError *error;
[myAuthor addArticlesObject:myArticle];
if (![self.managedObjectContext save:&error])
{
    NSLog(@"Database update failed: %@", error);
}

关于iphone - 核心数据 : Creating Relationships,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19317592/

相关文章:

iOS 13 : Searchbar crashing when cancel is hit repeatedly

ios - Alamofire 5 : Value of type 'Result<Data, AFError>' has no member 'value'

ios - 使用Vision&AVFoundation Framework从实时摄像头(不是从静态图像)进行实时面部检测

iPhone 4s : Restoring physical camera button functionality

iphone - UITextField setAutocapitalizationType 奇怪的行为

ios - 如何根据不同的形状拼贴图像

iphone - 如何在同步函数调用中处理异步回调?

iphone - iOS 5 上的 armv7 undefined symbol : _aes_icm_advance_ismacryp

objective-c - IOS 设置属性语法问题

ios - 当 iOS 11 中未安装 Twitter 应用程序时,使用 Twitterkit 发推失败