我已经在Xcode中使用StoryBoard(针对iOS6)将UITableView原型Cell添加到用于iPad应用程序的UIView中。
我遇到的问题是当我尝试引用标签时,我的viewController中无法识别标签。
在我的实施中,我有:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"dashboardMessage";
UITableViewCell *cell = [_tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
int row = [indexPath row];
cell.messageSender.text = [_matches valueForKey:@"from"];
}
最后一行导致错误:在UITableViewCell类型的对象上找不到属性'messageSender'
在单元格的头文件中,我有:
@interface DashboardMessageCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UILabel *messageSender;
@property (strong, nonatomic) IBOutlet UILabel *messageDescr;
并将头文件导入viewController。
我对于导致问题的原因感到很遗憾,我们将非常感谢任何帮助。
感谢。
答案 0 :(得分:1)
您的单元格类型必须是DashboardMessageCell,您的代码可能是这样的:
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"dashboardMessage";
DashboardMessageCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[DashboardMessageCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
int row = [indexPath row];
cell.messageSender.text = [_matches valueForKey:@"from"];
}
我不会尝试这段代码 我希望它会对你有所帮助