我如何检查重用标识符是否已经用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
方法中调用一次吗?