我创建了聊天应用程序,在其中我将数据保存在核心数据中。我使用以下实体,
我想获取所有唯一customerno
的数据,并且该数据将按降序排列,messagedate
还包含messagetext
从其他发送的最新数据cmid
。我想显示像 facebook 聊天消息列表和微笑视图这样的列表。我尝试以下代码,
-(NSArray *)getAllInstanceMessages{
NSError *error = nil;
NSFetchRequest * req = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"IMDetails" inManagedObjectContext:theManageContext];
[req setPredicate:[NSPredicate predicateWithFormat:@"cmid=%@", theCmID]];
NSDictionary *entityProperties = [entity propertiesByName];
[req setEntity:entity];
[req setReturnsDistinctResults:YES];
[req setResultType:NSDictionaryResultType];
[req setPropertiesToFetch:[NSArray arrayWithObject:[entityProperties objectForKey:@"customerno"]]];
[req setSortDescriptors:[NSArray arrayWithObject:[[NSSortDescriptor alloc] initWithKey:@"messagedate" ascending:NO]]];
NSArray *result = [theManageContext executeFetchRequest:req error:&error];
if(error){
NSLog(@"%s, %@", __FUNCTION__, [error localizedDescription]);
return nil;
}
return result;
}
上面的代码给出了我的以下输出,
Printing description of result:
<_PFArray 0xa3cda70>(
{
customerno = CN00001;
customerno = CN00002;
customerno = CN00003;
}
)
我想要完整的数据以及这个唯一的数字,我的意思是包含唯一数据的字典/ManagedObject 数组,假设在上面的 CN0001 数字中,但它不包含其他属性值。
我在代码中做错了什么?