unable to dequeue a cell with identifier Identify - must register a nib or a class for the identify
最近在友盟上看到了这样一个错误,它的意思就是你没有用identifier来注册一个nib或者一个类。为什么会报这样的错误呢?原因就是有两个方法没有弄明白
// Used by the delegate to acquire an already allocated cell, in lieu of allocating a new one.
- (nullable __kindof UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier;
// newer dequeue method guarantees a cell is returned and resized properly, assuming identifier is registered
- (__kindof UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(6_0);
第一个方法就不说了这个是很早的方法了,下面的方法是iOS6才增加的新方法,看到了这句话也许你就明白了assuming identifier is registered 这就要求我们必须以注册的方式把identifier注册到cell里面才可以。也就是说,这个方法的使用和用register注册cell是一一对应的,所以出现上面的crash,你可以改变cell的dequeue方式,也可以改变cell的创建方式来改正。
更多推荐
unable to dequeue a cell with identifier Identify - must register a nib or a cla
发布评论