我有这个代码块,我用它来将文本放在UITableView单元格中。它给了我一个错误。
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17];
CGSize constraintSize = CGSizeMake(self.itemList.frame.size.width, MAXFLOAT);
CGSize labelSize = [[items_array objectAtIndex:indexPath.row] sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
return labelSize.height + 30;
}
错误发生在以下行:
CGSize labelSize = [[items_array objectAtIndex:indexPath.row] sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
这是错误:
uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary sizeWithFont:constrainedToSize:lineBreakMode:]: unrecognized selector sent to instance 0x834b020'
再一次,异常告诉你出了什么问题。 [items_array objectAtIndex:indexPath.row]
是NSDictionary
而不是NSString
.修复此问题,异常将消失。