我如何检查重用标识符是否已经用UITableView注册?

在iOS应用程序中,我们必须使用我们的表视图注册nib文件,然后才能使用UITableView#dequeueReusableCellWithIdentifier

例:

 static NSString *myReuseIdentifier = @"MyReuseIdentifier"; UINib *cellNib = [UINib nibWithNibName:myReuseIdentifier bundle:nil]; [self.tableView registerNib:cellNib forCellReuseIdentifier:myReuseIdentifier]; 

有没有办法来检查一个笔尖是否已经注册了一个UITableView?

我有一个自定义的单元格,在我的应用程序中的几个控制器的各种表中使用。 我想将一些代码移动到一个macros。 就像是

 -(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 。 否则,它会返回单元格,所以你可以简单地尝试。

我相信registerNib:forCellReuseIdentifier:是为了减less样板代码。 你可以简单地在viewDidLoad方法中调用一次吗?