8

我在编译我的应用程序时遇到了一个非常奇怪的错误,就像下图一样,有人知道发生了什么吗?

在此处输入图像描述

日志中的错误:

错误:编译失败。

Underlying Errors:
    Description: Couldn't compile connection: <IBCocoaTouchOutletConnection:0x400d6f420 <IBProxyObject:0x400d6e080> => nameShow => <IBUILabel: 0x400c7e0c0>
    Description: Couldn't compile connection: <IBCocoaTouchOutletConnection:0x400d71200 <IBProxyObject:0x400d6e080> => catShow => <IBUILabel: 0x400bf9280>
    Description: Couldn't compile connection: <IBCocoaTouchOutletConnection:0x400d6ffc0 <IBProxyObject:0x400d6e080> => numShow => <IBUILabel: 0x400be0380>
4

2 回答 2

18

问题是你有链接到原型单元的 IBOutlets。请注意,原型单元就是:原型。因此,您可以拥有每个实例的多个实例。因此 Xcode 不会知道将 IBOutlet 变量链接到哪个实例。

您必须等到单元格在 cellForRowAtIndexPath 中实例化后才能分配属性

于 2012-05-17T12:56:55.370 回答
2

这可能会有所帮助。关键是您需要在 IB 中为您的 Storyboard outlet 设置 Tag 值。

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

  UITableViewCell *cell = [[UITableViewCell alloc] init];

  cell = [tableView dequeueReusableCellWithIdentifier:@"LogRecordCell"];

  cmiJournal = (CMIJournal *)[fetchedResultsController objectAtIndexPath:indexPath];

  UILabel *useJName = (UILabel *)[cell.contentView viewWithTag:101];
  UILabel *useJTime = (UILabel *)[cell.contentView viewWithTag:102];
  UITextView *useJRecord = (UITextView *)[cell.contentView viewWithTag:103];

  useJName.text = cmiJournal.cmiJournalName;
  useJTime.text = fnlDate;
  useJRecord.text = cmiJournal.cmiJournalRecord;

  return cell;
}
于 2012-08-26T15:49:05.270 回答