首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS学习——UITableViewCell两种重用方法的区别

今天在开发过程中用到了UITableView,在对cell进行设置的时候,我发现对UITableViewCell重用设置的方法有如下两种,刚开始我也不太清楚这两种之间有什么区别。...直到我在使用方法二进行重用的时候,具体实现代码如下,其中CJMeetingReplyBasicCell是我自定义的UITableViewCell类型,但是在运行的时候每次都在调用 CJMeetingReplyBasicCell...那么,这两种重用UITableViewCell的方法之间到底有什么区别呢?...//方法一 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; //方法二 UITableViewCell...这里解释说要先进行注册我们自定义或者通过nib的类和标识符,然后再使用方法二进行重用。所以现在我们崩溃的原因就已经明确了,问题就出在没有进行先注册我们自定义的类和标识符。

1.1K70
您找到你想要的搜索结果了吗?
是的
没有找到

iOS-UI控件之UITableView(一)

UITableViewCellSelectionStyleBlue UITableViewCellSelectionStyleGray UITableViewCellSelectionStyleDefault 创建 Cell 的性能分析及优化 cell的重用原理...要解决该问题,需要重用UITableViewCell对象 重用原理:当滚动列表时,部分UITableViewCell会移出窗口,UITableView会将窗口外的UITableViewCell放入一个对象池中...,等待重用。...,那么UITableView在重用UITableViewCell时可能会得到错误类型的UITableViewCell 解决方案:UITableViewCell有个NSString *reuseIdentifier...当UITableView要求dataSource返回UITableViewCell时,先通过一个字符串标识到对象池中查找对应类型的UITableViewCell对象,如果有,就重用,如果没有,就传入这个字符串标识来初始化一个

1.8K130

使用UITableViewCell遇到的问题

最近在使用此控件时却遇到了一些问题,UITableView上的每个小的控件是UITableViewCell。大多数的UITableViewCell都需要自定义,这样会更灵活些,能满足我们功能上的需求。...先说我的问题吧: 项目需求:一个UITableView上有两种类型的UITableViewCell。 根据项目需求这时需要自定义两种类型的UITableViewCell(这里我们称为A、B两种类型)。...在我定义好了两种UITableViewCell之后在使用的时候却出现了问题:在我使用B类型对象的时候Xcode却告诉我此对象是A类型的对象,因此不能调用B类型对象的相关方法。...由于UITableViewCell的唯一标识符都是一样的,让Xcode认为两种Cell都是一样的。 解决:在我将CellID修改之后,此问题得到了解决。 教训:切记唯一标识符的意义。

76010

解决UITableView中Cell重用机制导致内容出错的方法总结

上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入UITextField或者UITextView等子视图...UITableViewCell*)cellForRowAtIndexPath:(NSIndexPath*)indexPath 重用机制调用的就是dequeueReusableCellWithIdentifier...:indexPath]; //根据indexPath准确地取出一行,而不是从cell重用队列中取出 if (cell == nil) { cell = [[UITableViewCell alloc] ...重用机制是根据相同的标识符来重用cell的,标识符不同的cell不能彼此重用。于是我们将每个cell的标识符都设置为不同,就可以避免不同cell重用的问题了。... dequeueReusableCellWithIdentifier:CellIdentifier]; //出列可重用的cell if (cell == nil) { cell = [[UITableViewCell

2.3K50

iOS核心机制之一:UITableView的Cell重用机制1 传统重用机制2. 注册机制的重用3. 注册cell的三种方式4. 调试小技巧之检测异常断点

但是CPU还是会不停的alloc,为了降低CPU损耗,就需要使用重用机制。 需要注意的是,重用是无序的,不是有序的。...1.先去缓存池中找,是否有可以重用的cell 2.如果缓存池中没有,创建一个cell,并给它一个重用标示 3.设置数据 1 传统重用机制 //返回每一组的每一行显示什么内容 - (UITableViewCell...static NSString *ID = @"A"; // 缓存池中寻找是否有可以重用的cell UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier...:ID]; // 如果缓存池中没有ID,创建一个cell,并给它一个重用标示 if (cell == nil) { cell = [[UITableViewCell...static NSString *ID = @"A"; // 缓存池中寻找是否有可以重用的cell UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier

1.3K30
领券