在iOS应用程序中,我们必须先使用表视图注册nib文件,然后才能使用UITableView #dequeueReusableCellWithIdentifier.
例:
static NSString *myReuseIdentifier = @"MyReuseIdentifier"; UINib *cellNib = [UINib nibWithNibName:myReuseIdentifier bundle:nil]; [self.tableView registerNib:cellNib forCellReuseIdentifier:myReuseIdentifier];
有没有办法检查Nib是否已经注册了UITableView?
我有一个自定义单元格,我在我的应用程序中的几个控制器的各种表中使用.我想将一些代码移动到宏.就像是
-(CustomCell *)customCell:(UITableView *)tableView { static NSString *reuseIdentifier = @"MyReuseIdentifier"; if (![table hasAlreadyRegisteredNib:reuseIdentifier]){ UINib *cellNib = [UINib nibWithNibName:reuseIdentifier bundle:nil]; [self.tableView registerNib:cellNib forCellReuseIdentifier:reuseIdentifier]; } CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier]; return cell; }
解决方法
我不确定它是否是你想要的,但是
-dequeueReusableCellWithIdentifier:
如果单元格未准备好重用,则返回nil.否则,它返回单元格,所以你可以简单地尝试.