0
我已經完成並使用tableview來複制核心數據教程來顯示內容。但是,我想通過在視圖上執行訪問實體而不使用tableview。我使用了以下提取代碼,但返回的計數始終爲0.數據在使用SQLite工具打開時存在。核心數據混淆:獲取不帶tableview
NSManagedObject *entryObj;
XYZDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *managedObjectContext = appDelegate.managedObjectContext;
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Quote" inManagedObjectContext:managedObjectContext];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"id" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[request setEntity: entity];
NSArray *results = [managedObjectContext executeFetchRequest:request error:nil];
if (results == nil) {
NSLog(@"No results found");
entryObj = nil;
}else {
NSLog(@"results %d", [results count]);
}
[request release];
[sortDescriptors release];
計數返回總是0;它應該是5.
任何人都可以指向我的參考或教程有關創建控制器不與tableview使用。
我已經試過你的建議。打印出來的錯誤是執行代碼的類的名稱。在沒有排序描述符的情況下執行相同的操作時,出現「錯誤地址」錯誤。結果,無論我嘗試返回「count:0」。我想知道在這種情況下是否需要額外的方法來實現coredata。請注意,我只是在閱讀,而不是嘗試添加/刪除/更新。 – 2010-06-03 17:50:50
我試過你的代碼,結果是一樣的(結果:0)。這是我需要訪問「報價」實體還是他們缺少的東西? – 2010-06-03 17:54:50
最後修復它。模擬器創建另一個文件夾,一個額外的SQLite數據庫。切換DB修復它。代碼畢竟是正確的。謝謝您的幫助。 – 2010-06-03 18:33:07