1.首先看cell上的控件是否為nil
2.cell上控件初始化方法不對
3.cell的初始化方法不對
如果直接崩潰,檢查cell的reuseIdentifier
代碼創建方法應該為
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {}return self;}
代理方法里應該為
-
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *ID = @"teacherCell";
WBTeacherTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];if (cell == nil) { cell = [[WBTeacherTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID]; } cell.teacImage.image = [UIImage imageNamed:@"temp_yuan"]; cell.teacLabel.text = @"張三老師 "; cell.backgroundColor = [UIColor yellowColor]; return cell;
}
xib或者storyboard的為:
view里:
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
}
delegate
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (tableView == self.classifyTable) {
WBClassifyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"classifyCell" forIndexPath:indexPath];
return cell;
}
上面幾項都是我自己遇到的坑...其實都是自己坑自己...希望大家的代碼細心一點不要犯和我同樣的錯誤??