1
2
//Beginning in iOS 6, clients can register a nib or class for each cell. // If all reuse identifiers are registered, use the newer -dequeueReusableCellWithI dentifier:forIndexPath: to guarantee that a cell instance is returned. // Instances returned from the new dequeue method will also be properly sized when they are returned. - (void)registerNib:(UINib *)nib forCellReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(5_0); - (void)registerClass:(Class)cellClass forCellReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(6_0);
注意看上面的注释
3
self.tableView.backgroundColor= xxxx; [self.tableView registerClass:[CustomCell class] forCellReuseIdentifier:@"CustomCell"];
这样你在-
static NSString *CellIdentifier = @"Cell"; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefa ult reuseIdentifier:CellIdentifier]; //设置你的cell }
而只需要
UITableViewCell *cell = [tableView dequeueReusableCellWithI dentifier:@"Cell" forIndexPath:indexPath];
总结:使用[tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath]的情况下,获取到的cell一定不为空,前提是需要注册cell。
而使用[tableView dequeueReusableCellWithIdentifier:@"Cell"]的情况下,不能确定获取到的cell一定有值,所以需要再进行判断。