2011-08-11 20 views
5

Khi đặt loại kết quả NSFetchRequest thành NSDictinaryResultType, không có đối tượng nào được trả về. Nếu tôi xóa setPropertiesToFetch và setResultType, tất cả các đối tượng được trả về.Dữ liệu chính NSFetchRequest setResultType: NSDictionaryResultType không hoạt động

Bất kỳ ý tưởng nào?

NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Alert" inManagedObjectContext:_managedObjectContext]; 
[request setEntity:entity]; 

NSDictionary *entityProperties = [entity propertiesByName]; 
[request setPropertiesToFetch:[NSArray arrayWithObject:[entityProperties objectForKey:@"test"]]]; 
[request setResultType:NSDictionaryResultType]; 

NSError *error; 
NSArray *result = [_managedObjectContext executeFetchRequest:request error:&error]; 

if (result == nil) { 
    NSLog(@"Error: %@", [error localizedDescription]); 
} 

Trả lời

10

Vấn đề là tôi cần phải lưu theededObjectContext sau khi chèn các đối tượng mới. Một khi tôi đã làm điều đó tôi nhận được kết quả tôi đang tìm kiếm.

+0

Vâng, đây thực sự là một hình ảnh xác thực. Khi sử dụng NSDictionaryResultsType bạn không thể nhận được kết quả của các thay đổi đang chờ xử lý trên bối cảnh đối tượng được quản lý. – Aderstedt

Các vấn đề liên quan