1

我提供了一个带有插座属性的UITableViewCell子类MyCell(为了连接笔尖):

@interface MyCell : UITableViewCell

@property (nonatomic, strong) IBOutlet UILabel* theLabel;

@end

然后我合成theLabel. 然后我想使用属性名称来访问单元格:

MyCell *theCell = (MyCell *)cell;
UILabel *lab = theCell.theLabel;

当我使用属性名称访问单元格时,我收到一条错误消息:

[UITableViewCell theLabel]: unrecognized selector

我似乎错过了什么。为什么会抛出异常?

4

1 回答 1

2

您的问题是,在您的 cellForRowAtIndexPath 函数中,您没有正确地将单元格实例化为“MyCell”类型,而只是尝试将指针静态转换为它。最后,您尝试访问普通 UITableViewCell 中不存在的属性。

您是否正在加载与此类似的单元格?:

static NSString *reuseIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];

if (cell == nil) {
    cell = [[[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:self options:nil] objectAtIndex:0];
}
于 2012-12-19T21:16:35.330 回答