0
我有一個非常基本的CoreData支持的iPhone應用程序。在我強制應用程序生成sqlite文件後,我拿了它,並預先填充一個記錄,以測試它加載到tableview中。CoreData不提取任何行
雖然我碰到了一個障礙,因爲CoreData似乎沒有在表格中找到該行。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [fetchedResultsController sections] count];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
id <NSFetchedResultsSectionInfo> sectionInfo = [[fetchedResultsController sections] objectAtIndex:section];
return [sectionInfo numberOfObjects];
}
第一函數總是返回一個和第二函數總是返回零。由於tableview認爲沒有行,因此它從不碰到cellForRowAtIndexPath,所以我的數據都沒有加載。
我可以,但是,看到在viewDidLoad中我的表結構與下面的代碼:現在
if(!managedObjectContext){
managedObjectContext = [(AppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Assessment" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
for (NSPropertyDescription *property in entity)
{
NSLog(@"%@", property.name);
}
NSError *error = nil;
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
[request release];
,這讓我感到沒有在我的代碼的其餘不斷產生NSFetchRequest因爲我從不打cellForRowAtIndex。但我也基於食譜示例中的大部分代碼,它看起來像以同樣的方式加載(並且它實際上工作)。
我敢肯定我在這裏錯過了一些明顯的東西,有人可以指出我在正確的方向嗎?
該代碼可以在其中找到完整here。
謝謝!我不知何故忽略了設置抓取的結果控制器。知道這是簡單的事情。 – 2010-07-30 20:22:46