编译我的应用时出现了一个非常奇怪的错误,就像下图所示,有人知道发生了什么事吗?
日志中的错误:
错误:编译失败。
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>
答案 0 :(得分:18)
问题是你有IBOutlets链接到原型单元格。请注意原型单元格就是:原型。所以你可以有多个实例。因此Xcode不知道将IBOutlet变量链接到哪个实例。
你必须等到在cellForRowAtIndexPath中实例化单元格以分配属性
答案 1 :(得分:2)
这可能会有所帮助。关键是您需要在IB中为故事板出口设置标记值。
- (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;
}