Ios 如何在一个实体中保存多人(CoreData)
我有一个实体,看起来像这样:Ios 如何在一个实体中保存多人(CoreData),ios,xcode,core-data,Ios,Xcode,Core Data,我有一个实体,看起来像这样: Entityname = Country 具有“城市”和“人”的属性 我想在那座城市里拯救更多的人 我正在使用上面发布的代码,但只保存最后一个人 如何在CoreData中保存多个人 希望您能帮助我。您需要创建一个包含所有需要保存到核心数据模型的人员的数组。您需要创建一个包含所有需要保存到核心数据模型的人员的数组。请尝试此代码。希望这对你有帮助 yourArray = [[NSMutableArray alloc]initWIthObjects:@"Doug",@"
Entityname = Country
具有“城市”和“人”的属性
我想在那座城市里拯救更多的人
我正在使用上面发布的代码,但只保存最后一个人
如何在CoreData中保存多个人
希望您能帮助我。您需要创建一个包含所有需要保存到核心数据模型的人员的数组。您需要创建一个包含所有需要保存到核心数据模型的人员的数组。请尝试此代码。希望这对你有帮助
yourArray = [[NSMutableArray alloc]initWIthObjects:@"Doug",@"Carry",@"Arthur"];
for(int i = 0; i < [yourArray count]; i++)
{
NSManagedObjectContext *context = [self managedObjectContext];
countryObject=[NSEntityDescription
insertNewObjectForEntityForName:@"Country"
inManagedObjectContext:context];
countryObject.city = @"New york";
countryObject.people = [NSString stringWithFormat:@"%@",[yourArray objectAtIndex:i]];
NSError *error;
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
}
yourArray=[[NSMutableArray alloc]initWIthObjects:@“Doug”、@“Carry”、@“Arthur”];
对于(int i=0;i<[yourArray count];i++)
{
NSManagedObjectContext*上下文=[self-managedObjectContext];
countryObject=[NSEntityDescription
insertNewObjectForEntityForName:@“国家”
inManagedObjectContext:context];
countryObject.city=@“纽约”;
countryObject.people=[NSString stringWithFormat:@“%@,[yourArray objectAtIndex:i]];
n错误*错误;
如果(![上下文保存:&错误]){
NSLog(@“哎哟,无法保存:%@,[error localizedDescription]);
}
}
更新:
在您解释您不需要三个不同的实例之后,然后
这可以通过为
城市
和人
创建一个单独的实体来实现,然后将他们之间的关系作为到多个关系。
这样您就可以实现 试试这段代码。希望这对你有帮助
yourArray = [[NSMutableArray alloc]initWIthObjects:@"Doug",@"Carry",@"Arthur"];
for(int i = 0; i < [yourArray count]; i++)
{
NSManagedObjectContext *context = [self managedObjectContext];
countryObject=[NSEntityDescription
insertNewObjectForEntityForName:@"Country"
inManagedObjectContext:context];
countryObject.city = @"New york";
countryObject.people = [NSString stringWithFormat:@"%@",[yourArray objectAtIndex:i]];
NSError *error;
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
}
yourArray=[[NSMutableArray alloc]initWIthObjects:@“Doug”、@“Carry”、@“Arthur”];
对于(int i=0;i<[yourArray count];i++)
{
NSManagedObjectContext*上下文=[self-managedObjectContext];
countryObject=[NSEntityDescription
insertNewObjectForEntityForName:@“国家”
inManagedObjectContext:context];
countryObject.city=@“纽约”;
countryObject.people=[NSString stringWithFormat:@“%@,[yourArray objectAtIndex:i]];
n错误*错误;
如果(![上下文保存:&错误]){
NSLog(@“哎哟,无法保存:%@,[error localizedDescription]);
}
}
更新:
在您解释您不需要三个不同的实例之后,然后
这可以通过为
城市
和人
创建一个单独的实体来实现,然后将他们之间的关系作为到多个关系。
这样您就可以实现 解决问题的方法是:
我希望这些信息能让你走上正轨 解决问题的方法是:
我希望这些信息能让你走上正轨 我该怎么做?我知道如何填充数组,但如何保存数组数据?我该如何做?我知道如何填充数组,但我如何保存数组太CoreData?thx,这对我很有帮助。但现在我有另一个问题。我在带有自定义单元格的动态tableviewcontroller中获取了这些数据。例如,如果我使用你的代码,他会生成3个单元格,其中City=NewYork,并拆分数组。单元格1=道格,单元格2=进位。。。在我的例子中,我需要他只创建一个名为“纽约”的单元格和这三个属性。这可以通过为城市和人创建一个单独的实体来实现,然后建立他们之间的关系,就像建立许多关系一样。否则,迭代循环并连接该数组中的所有三个值,存储在一个字符串中,然后将该字符串存储到核心数据。这不会将三个人添加到一个城市,而是创建三个
国家的实例,每个实例都具有相同的城市,但不同的
- (void)addPersonObject:(Person *)value;
- (void)removePersonObject:(Person *)value;
- (void)addPersons:(NSSet *)value;
- (void)removePersons:(NSSet *)value;