IOS首页投稿(暂停使用,暂停投稿)iOS Developer

UITableView加载自定义可重用cell的两种方法的区别(

2016-05-19  本文已影响971人  赵奥勋

1.原始方法

假如UITableViewCell是我们自定义的cell

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identify];

这个方法需要以下代码:

if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identify];
    }

2.iOS6以后出现的方法

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identify forIndexPath:indexPath];

这个方法在cell为空时会自己创建cell,不需要以下代码:

if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identify];
    }

但是在创建tableView的时候需要告诉编译器按照什么样子创建cell,所以要给tableView注册自定义的cell,不注册就会崩溃:

[tableView registerClass:[自定义cell的类名 class] forCellReuseIdentifier:@"customCell"];

另外

UICollectionView加载自定义可重用的cell只有一种方法:

UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identify forIndexPath:indexPath];

类似UITableView的第二种方法,在创建UICollectionView的时候需要注册自定义的cell,不注册会崩溃。

上一篇下一篇

猜你喜欢

热点阅读