Ios 创建数组作为实体的属性

Ios 创建数组作为实体的属性,ios,objective-c,core-data,Ios,Objective C,Core Data,因为我不知道如何在核心数据中使用关系 我试了很多次都没有成功 我想创建一个数组作为实体的属性 应该是什么类型的属性? 以及如何将阵列保存在核心数据中 我怎么得到它 我很高兴看到示例代码,因为您可以在CoreData中使用可转换属性类型。简单来说,该属性类型可以看作是指向支持NSCoding的任何objective-c对象的指针。NSArray是这样做的,因此您可以将其中一个属性分配给该属性,但为了使持久性存储能够工作,您在NSArray中存储的所有对象也需要符合NSCoding。为此,您可以在C

因为我不知道如何在核心数据中使用关系 我试了很多次都没有成功

我想创建一个数组作为实体的属性
应该是什么类型的属性?
以及如何将阵列保存在核心数据中 我怎么得到它


我很高兴看到示例代码

,因为您可以在CoreData中使用可转换属性类型。简单来说,该属性类型可以看作是指向支持NSCoding的任何objective-c对象的指针。NSArray是这样做的,因此您可以将其中一个属性分配给该属性,但为了使持久性存储能够工作,您在NSArray中存储的所有对象也需要符合NSCoding。

为此,您可以在CoreData中使用可转换属性类型。简单来说,该属性类型可以看作是指向支持NSCoding的任何objective-c对象的指针。NSArray是这样做的,因此您可以将其中一个属性指定给该属性,但是为了使持久性存储能够工作,您存储在NSArray中的所有对象也需要符合NSCODE。

您可以将
NSArray
存储为
可转换的
属性。然后可以使用
NSCoding
对数组进行序列化。这种方法的优点是很简单,但您无法查询数组,因为它在数据存储中存储为BLOB。如果阵列很大,您可能需要在数据存储中保存或加载大量数据,以读取或修改集合的一小部分。因此,您应该使用小数组数据

这是我的简单示例。

您可以将
NSArray
存储为
可转换属性。然后可以使用
NSCoding
对数组进行序列化。这种方法的优点是很简单,但您无法查询数组,因为它在数据存储中存储为BLOB。如果阵列很大,您可能需要在数据存储中保存或加载大量数据,以读取或修改集合的一小部分。因此,您应该使用小数组数据

这是我的简单示例。

您确实不想创建阵列并将其存储在核心数据中。它将无法搜索,性能将受到影响

你最好建立一个测试项目,学习如何使用关系。将关系对象视为任何其他对象,但它返回的是一个集合而不是单个对象


我建议您阅读一些关于核心数据和主关系的入门资料,否则您将无法充分利用核心数据。

您确实不想创建一个数组并将其存储在核心数据中。它将无法搜索,性能将受到影响

你最好建立一个测试项目,学习如何使用关系。将关系对象视为任何其他对象,但它返回的是一个集合而不是单个对象


我建议您阅读一些关于核心数据和主关系的入门材料,否则您将无法充分利用核心数据。

我正在失去理智我的问题是我开始从这个链接构建项目核心数据:我有文件实体,而且我找不到说明如何在不创建文件的情况下构建关系实体的说明。我有她的想法,我希望它是一种数组,我知道可以创建另一个没有问题的实体。我希望此实体的问题将链接到表视图中的另一个实体,并在任何表视图中创建数组实体所有这些都没有文件到实体,这是可能的?没有关系“实体”。关系仅仅是现有对象上的属性。如果您有一个与名为“Books”的书籍有关系的Author对象,您可以像访问Author实例上的任何其他属性一样访问它:
NSSet*Books=Author.Books
。您的评论中的问题不清楚。如果要在两个实体之间设置关系,可以像设置任何其他属性一样进行设置。如果它是一对一的关系,它将是
author.book=theBookToReference
。如果是一对多,您可以执行
author.books=myNSSetOfBookObjects
。核心数据使用与其他Objective-C用户相同的语法。如果没有文件到实体,如何处理关系?看看我写的第一个注释的链接,它没有创建文件(类)实体我正在发疯我的问题是我开始从这个链接构建一个项目核心数据:我有文件实体,而且我找不到说明如何在不创建文件的情况下构建关系实体的说明。我有她的想法,我希望它是一种数组,我知道可以创建另一个没有问题的实体。我希望此实体的问题将链接到表视图中的另一个实体,并在任何表视图中创建数组实体所有这些都没有文件到实体,这是可能的?没有关系“实体”。关系仅仅是现有对象上的属性。如果您有一个与名为“Books”的书籍有关系的Author对象,您可以像访问Author实例上的任何其他属性一样访问它:
NSSet*Books=Author.Books
。您的评论中的问题不清楚。如果要在两个实体之间设置关系,可以像设置任何其他属性一样进行设置。如果它是一对一的关系,它将是
author.book=theBookToReference
。如果是一对多,您可以执行
author.books=myNSSetOfBookObjects
。核心数据使用与其他Objective-C用户相同的语法。如果没有文件到实体,如何处理关系?看看我写的第一个注释的链接,它没有创建文件(类)实体我正在发疯我的问题是我开始从这个链接构建一个项目核心数据:appcoda.com/core-data-tutorial-update-delete