如何将字典数据转换为NSManagedObject数据?我使用了propertiesToFetch,它返回字典数据。但我想要NSManagedObject数据。请引导我
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:catalogID, pageID, nil]];
[fetch setResultType:NSDictionaryResultType];
[fetch setReturnsDistinctResults : YES];
NSError* error = nil;
self.resultPageArray = [context executeFetchRequest:fetch error:&error];当我将类型更改为NSManagedObjectResultType时,就得到了不明确的数据。我读到,在使用propertiesToFetch时,它以字典格式保存数据。但是我想要获得不同的数据,并将其保存到NSManagedObjects中。
发布于 2016-01-14 11:19:21
我已经解决了这个问题。我正在获取NSManagedObjects的数据。之后,我将数据保存到另一个数组,不重复。并返回新的数组。
self.resultPageArray = [context executeFetchRequest:fetch error:&error];
NSMutableArray *resultantFinalArr = [[NSMutableArray alloc] init];
for (int i = 0; i<resultPageArray.count; i++)
{
catalogPageDataModel *atIndexI = [resultPageArray objectAtIndex:i];
BOOL find = NO;
for (catalogPageDataModel* catalogPageDataModel in resultantFinalArr)
{
if (catalogPageDataModel.pageid.intValue == atIndexI.pageid.intValue)
{
find = YES;
break;
}
}
if (!find)
[resultantFinalArr addObject:atIndexI];
}
NSLog(@"result array count %lu",(unsigned long)resultantFinalArr.count);
NSLog (@"names: %@",resultantFinalArr);
return resultantFinalArr;发布于 2016-01-12 11:21:58
尝尝这个,
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:catalogID, pageID, nil]];
[fetch setResultType:NSManagedObjectResultType];
[fetch setReturnsDistinctResults : YES];
NSError* error = nil;
self.resultPageArray = [context executeFetchRequest:fetch error:&error];我的代码:
NSError *error = nil;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"BookInfo"
inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setPropertiesToFetch:@[catalogID, pageID]];
[fetchRequest setPredicate: [NSPredicate predicateWithFormat:@"(bookId == %@)",strId]];
NSArray *fetchedItems = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
if( fetchedItems.count > 0 ) {
BookInfo *bInfo = [fetchedItems lastObject];
NSLog(@"%@",bInfo.bookName);
}https://stackoverflow.com/questions/34740622
复制相似问题