2011-12-14 93 views
0

即時通訊使用coredata檢查實體的內容,但仍然記得如何去做到這一點,簡單的核心數據獲取

PFIWIAppDelegate* delegate = (PFIWIAppDelegate*)[[UIApplication sharedApplication] delegate]; 


NSEntityDescription *entity = [NSEntityDescription entityForName:@"productPoints" inManagedObjectContext:[delegate managedObjectContext]]; 

NSFetchRequest *request = [[NSFetchRequest alloc] init]; 

[request setEntity:entity]; 

NSLog(@" la resposta por deux:: %@", request); 


NSError *error = nil; 
NSArray *results = [[delegate managedObjectContext] executeFetchRequest:request error:&error]; 

NSLog(@"tu fetch master db ::%@",results); 

這樣的IM肯定有我的實體屬性「productPoints」 [檢查在sqlite管理器中)

如何查看數據?

在我的日誌我看到

la resposta por deux:: <NSFetchRequest: 0x6cd1780> (entity: productPoints; predicate: ((null)); sortDescriptors: ((null)); type: NSManagedObjectResultType;) 
2011-12-14 14:50:44.266 PFIWIN0196[7524:fb03] tu fetch master db ::(
"<productPoints: 0x6cd38c0> (entity: productPoints; id: 0x6cd2ce0 <x-coredata://888E340F-6CBF-4EED-B9D9-9C3FB06244F3/productPoints/p6> ; data: <fault>)", 
"<productPoints: 0x6cd3b70> (entity: productPoints; id: 0x6cd2cf0 <x-coredata://888E340F-6CBF-4EED-B9D9-9C3FB06244F3/productPoints/p7> ; data: <fault>)" 

所以我想即時看到我的實體的兩個對象,但怎麼看屬性,

的感謝!

回答

3

您猜測的對象在results陣列中。要查看屬性所有你需要做的就是訪問它們,使用的東西沿着線:

productPoints* firstProduct = [results objectAtIndex:0]; 
NSLog("Some property value: %@", firstProduct.someProperty); 

還要注意的是標準的核心數據API的是一個應該框架絕對荒謬簡化任務存儲和檢索數據。我強烈建議您嘗試使用討論的NSManagedObjectContext+EasyFetch類別here和github here

然後你的代碼可以被改寫爲:

PFIWIAppDelegate* delegate = (PFIWIAppDelegate*)[[UIApplication sharedApplication] delegate]; 
NSArray* results = [[delegate managedObjectContext] fetchObjectsForEntityName: @"productPoints"]; 
NSLog(@"tu fetch master db ::%@",results); 
+0

偉大aroth!謝謝!,爲答案和> NSManagedObjectContext + EasyFetch – MaKo 2011-12-14 04:25:45