Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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
Ios 在存储核心数据时,是否必须同时存储两个实体数据?_Ios_Xcode_Cocoa Touch_Core Data - Fatal编程技术网

Ios 在存储核心数据时,是否必须同时存储两个实体数据?

Ios 在存储核心数据时,是否必须同时存储两个实体数据?,ios,xcode,cocoa-touch,core-data,Ios,Xcode,Cocoa Touch,Core Data,我正在创建一个核心数据应用程序,其中: 类别实体具有以下属性 catid:int catname:字符串 随机关系:与brandom实体的许多关系 brandom是另一个具有属性的实体 cid:类别实体 否:int arr:int 我的代码如下 category *c=[NSEntityDescription insertNewObjectForEntityForName:@"category" inManagedObjectContext:context]; for (i

我正在创建一个核心数据应用程序,其中:

类别
实体具有以下属性

catid:int

catname:字符串

随机关系:与brandom实体的许多关系

brandom
是另一个具有属性的实体

cid:类别实体

:int

arr:int

我的代码如下

category *c=[NSEntityDescription insertNewObjectForEntityForName:@"category" inManagedObjectContext:context];

for (int i=0; i<[arrayofnumbers count]; i++) {
                
    brandom *r=[NSEntityDescription insertNewObjectForEntityForName:@"brandom" inManagedObjectContext:context];
    c.catid=[NSNumber numberWithInt:i];
    r.cid=c;
    r.no=[NSNumber numberWithInt:i+1];
    int objectatindex=[[arrayofnumbers objectAtIndex:i] intValue];
    NSLog(@"object at index:%i",objectatindex);
    r.arr=[NSNumber numberWithInt:objectatindex];
    [set addObject:r];
}

c.randomrelation=r;
NSLog(@"set element count=%i",[set count]);
if (![context save:&error]) {
    NSLog(@"%@",[error localizedDescription]);
}
category*c=[NSEntityDescription insertNewObjectForEntityForName:@“category”inManagedObjectContext:context];

对于(inti=0;i我不太确定我是否理解你的问题

关于标题问题,如果您询问是否必须存储与关系相关的不同实体的数据,答案是它取决于

如果属性(关系)已声明为可选(1),则可以在应用程序生命周期内的不同时间执行此操作;如果声明为非可选(2),则必须同时进行设置

因此,如果在第一种情况下(1)如果可以设置,您可以创建
类别
实体,并在不同的时间设置其关系
随机关系
。在第二种情况下(2),您需要同时设置两者,因为核心数据将给出一致性错误

关于您的型号的一些说明。

首先调用类名之类的元素,例如
Category
而不是
Category
,并采用驼峰式表示法

其次,创建一个从
Brandom
Category
的反向关系。反向rels允许您保持图形的一致性。在您的模型中
Category
有一个到多个rel到
Brandom
声明为可选
Brandom
有一个反向和非可选rel(一对一)到
类别
。这允许您创建一个
类别
,其中包含零个或多个
品牌
,但
品牌
如果没有
类别
就无法“生存”


希望能有所帮助。

对不起,我不明白你的问题。你问的是什么?你能解释一下吗?我有两个实体第一个一类第二个一类的随机数,类与随机数之间的关系是多对多的,从随机数到类别是一对多的,我在问,如何存储数据?