我是iOS编程的新手。我创建了一个customcell类,并且没有调用awakefromnib方法,因为这样IBOutlets就是nil! 这让我抓狂!请帮忙! 我使用的故事板不是xibs。
答案 0 :(得分:3)
我最近遇到了这个问题,这是由于错误地注册了单元所导致的。要从笔尖加载UITableViewCell
,您需要像这样注册:
override func viewDidLoad() {
super.viewDidLoad()
// .....
let cellNib = UINib(nibName: "YourCellNibName", bundle: nil)
tableView.register(cellNib, forCellReuseIdentifier: "YourCellIdentifier")
}
答案 1 :(得分:3)
我也遇到了这个问题,问题是我打电话给了
self.collectionView.register(CollectionCell.self, forCellWithReuseIdentifier: "CollectionCell")
即使我实际上已经在情节提要中添加了收藏视图单元格。如果是这种情况,那么就不需要注册该类,并且在使单元出队时会导致所有IBOutlet为零
答案 2 :(得分:0)
如果您希望从xib实例化单元格,那么您的tableView:cellForRowAtIndexPath:
方法中的实现错误。
你需要做一些事情:
确保单元格的Identifier
在xib中设置为一个很好的唯一值。 (n.b. cell不是一个很好的唯一名称,仅适用于此示例)
在tableView:cellForRowAtIndexPath:
方法中,请确保使用此重用标识符
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
// configure cell
return cell;
}
答案 3 :(得分:0)
确保为UICollectionViewCell的自定义类具有适当的模块(而不是没有)。