嗨,我是核心数据新手, 我想知道DISTINCT值的行id 我写了这样的代码:
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Student" inManagedObjectContext:self.mangedContext];
[request setEntity:entity]; // Set NSEntityDescription object to FetchRequest
[request setResultType:NSDictionaryResultType];
[request setReturnsDistinctResults:YES];
[request setPropertiesToFetch:@[@"studentName"]];
NSError *requestError = nil;
NSArray*array = [mangedContext executeFetchRequest:request error:&requestError];
我在这里获得学生姓名 看起来像这样
{
studentName = xxxx;
},.
但我需要Total Row或该StudentName = xxxx的行ID;
请帮帮我
先谢谢。
答案 0 :(得分:1)
当您使用CoreData时,您使用对象进行管理,因此没有主键或行ID,但您创建的每个实体都有一个objectID。
因此,如果您从请求中收到实体学生,那么您可以通过访问其属性student.objectID
答案 1 :(得分:0)
NSEntityDescription *entityDescription = [NSEntityDescription
entityForName:@"Student" inManagedObjectContext:self.mangedContext];
NSFetchRequest *fetch = [[NSFetchRequest alloc] init];
[fetch setEntity:entityDescription];
[fetch setResultType:NSDictionaryResultType];
[fetch setReturnsDistinctResults:YES];
NSError *error = nil;
NSArray *studentDetails =[self.mangedContext executeFetchRequest:fetch error:&error]; // Here you will get entire student table values.
// Use your NSManagedObject and get particular field value(for ex, id, name)
Student *student = [studentDetails objectAtIndex:0];
NSNumber *studentId = student.stuId;