CoreData UITableViewController。滚动时可填充的可见行,空白

时间:2013-10-10 10:57:39

标签: ios objective-c core-data uitableview

我还在学习目标C,而且我的 UITableViewController 有一个奇怪的问题。它由CoreData填充,我正在使用斯坦福大学的CoreDataTableViewController课程。

当应用程序首次加载时,该表看起来好像正在填充,因为所有可见行都显示数据。该表具有与Core Data中的行数匹配的正确行数,但是当我滚动表视图时,下面的单元格是空白的,然后如果我向上滚动到表视图的顶部,原始单元格,人口稠密也是空白。我不是什么工作,因为它最初显示一些数据..

由于

这是代码:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
  return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
  return [_fetchedResultsController.fetchedObjects count];
}



- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

  NSString *CellIdentifier = @"InfoCell";

  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

  UserAccount *account = [_fetchedResultsController objectAtIndexPath:indexPath];

  UILabel *titleLabel = (UILabel *)[cell viewWithTag:1000];
  UILabel *descriptionLabel = (UILabel *)[cell viewWithTag:1001];

  titleLabel.text = account.title;
  descriptionLabel.text = account.detail;

  return cell;
}

我的viewWillAppear调用此函数:

- (void)setupFetchedResultsController
{

  NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"UserAccount"];

  request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"title"
                                                                                   ascending:YES
                                                                                    selector:@selector(localizedCaseInsensitiveCompare:)]];
  _fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                                  managedObjectContext:_managedObjectContext
                                                                    sectionNameKeyPath:nil
                                                                             cacheName:nil];
  [self performFetch];
}

0 个答案:

没有答案