【发布时间】:2017-05-26 06:59:03
【问题描述】:
在此示例中,我有一个名为“nameArray”的数组,其中包含五个对象-{A,B,C,D,E}。在核心数据中,我有一个名为“详细信息”的实体和一个属性“名称”。我已将“nameArray”保存在核心数据库中。之后,我使用 NSFetchRequest 来获取存储在“名称”属性中的所有数据。我使用的代码如下:
_nameArray = [NSArray arrayWithObjects:@"A",@"B",@"C",@"D",@"E", nil];
AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
Details *userDetails = [NSEntityDescription insertNewObjectForEntityForName:@"Details" inManagedObjectContext:appDelegate.persistentContainer.viewContext];
for (NSString*name1 in _nameArray)
{
userDetails.name = name1;
}
NSError *error;
[appDelegate.persistentContainer.viewContext save:&error];
if (error==nil)
{
NSLog(@"Data is saved");
}
else
{
NSLog(@"Data not saved and error is %@",error);
}
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Details"];
NSManagedObjectContext *context = [self manage]
NSArray *results = [appDelegate.persistentContainer.viewContext executeFetchRequest:request error:nil];
NSLog(@"The result array is %@",results);
if (results.count>0)
{
NSManagedObject *name1 = (NSManagedObject *)[results objectAtIndex:0];
NSLog(@"The name is %@",[name1 valueForKey:@"name"]);
}
问题是我无法获取存储在“名称”属性中的所有记录。 “结果”数组只给出一个对象,即最后一个对象“E”作为输出。我需要输出存储在“名称”属性中的所有数据。 “结果”数组输出如下:-
结果数组是 ( "(实体:详细信息;id:0xd000000000040000;数据:)", "(实体:详细信息;id:0xd000000000080000;数据:{\n 名称 = E;\n 编号 = 0;\n})" )
【问题讨论】: