UITableViewCell注册情况

下面的创建cell的样式(subTitle),要求必须注册否则程序会崩溃.

\

  这三种写法都是可以正常运行的,且cell都是循环利用的,主要思路就是:如果缓存池中有cell,就从缓存池取出cell来重用

  可以避免对象销毁和创建所需要的时间和空间成本,优化程序性能.

1>dequeueReusableCellWithIdentifier,这个方法的意思是先去缓存池中取得对应类型的cell,结过为空代表缓存池中没有对应类型的cell

    需要手动创建,

   需要注意的就是:注册这个操作的意义,

2>可以根据注册的cell类型在缓存池找到对应的cell来重用,比如cell有两种类型default和subTitle,因为两种cell的显示是不同的,

    根据注册的类型就可以准确的找到需要的cell

3>如果缓存池中没有可以重用的cell,如果注册过cell,系统会自动创建对应类型的cell,不需要手动创建.且注册后的cell是重复利用的

    可以通过打印cell地址来观察.

4>如果没有注册cell,也没有去缓存池中取cell来重用,每一次都是新创建的cell就会有性能问题

5>如果单单去缓存池中取cell,却没有注册该cell是危险的,因为缓存池中可能会有多种不同类型的cell,就会造成你取到的cell类型

    不是你需要的cell类型.

 

 

posted @ 2015-12-29 01:15  LDSmallCat  阅读(598)  评论(0)    收藏  举报