Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 核心数据:创建关系_Iphone_Ios_Objective C_Xcode_Core Data - Fatal编程技术网

Iphone 核心数据:创建关系

Iphone 核心数据:创建关系,iphone,ios,objective-c,xcode,core-data,Iphone,Ios,Objective C,Xcode,Core Data,我想知道是否有人愿意帮助我解决与核心数据相关的问题。我正在构建一个iPhone应用程序,现在需要创建一个实体到另一个实体的关系 我对核心数据、objective c和整个应用程序开发过程都是新手,所以如果你有答案,请牢记在心,我可能会觉得很难理解:-(我花了很长时间浏览网页和阅读苹果的文档,只是无法理解这个问题 我正在尝试将新数据插入一个实体,并与另一个实体中的现有对象建立关系。我已经建立了数据模型,创建了NSManagedObjects子类,并且可以将数据插入和管理到单个实体中,我只是不知道

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

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


我正在尝试将新数据插入一个实体,并与另一个实体中的现有对象建立关系。我已经建立了数据模型,创建了NSManagedObjects子类,并且可以将数据插入和管理到单个实体中,我只是不知道如何使用关系

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

创建此关系需要哪行代码?

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

我觉得我的问题在于我试图与.nsindepath、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);
}

谢谢你这么快回复。我有一个与你描述的相似的设置。我似乎不能理解的部分是“我的文章”部分?是什么?请您能为我分解一下您的代码行吗?
myArticle
myAuthor
被假定为使用
NSEntityDescription
insertNewObjectForEntityForName:inManagedObjectContext:
方法创建的对象。如果关系设置正确,则
addArticlesObject
应该存在于
Author
类中。再次感谢您,我想我已经达到了目的,但我现在得到了错误:“选择器'addArticlesObject:'没有已知的类方法”您知道为什么会发生这种情况吗?如果它抱怨“类方法”那么你可能使用的是Author类,而不是我拥有
myAuthor
的地方的对象。我将用一个代码示例编辑我的答案。现在我的数据库中有重复的作者,有什么想法吗?