我如何检查重用标识符是否已经用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
方法中调用一次吗?
- 为什么didBeginContact被多次调用?
- 该应用程序缺less必需的权利com.apple.developer.icloud-services'
- 拦截PDF链接点击使用Quicklook框架(QLPreviewController)
- iOS没有生成Xcode 6.1静态库.a
- 在iPhone上打电话,并把用户带回应用程序? (UIWebView做到了)
- 无效Apple Watch图标文件名称必须匹配模式“* <dimension> @ <scale> x.png”
- 带有由string的第一个字母创build的部分的NSFetchedResultsController
- 在收到FCM推送通知时设置应用程序徽章iOS(Swift)
- Alamofire请求来临零