首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITableViewCell - prepareForReuse和dequeueReusableCellWithIdentifier

UITableViewCell - prepareForReuse和dequeueReusableCellWithIdentifier
EN

Stack Overflow用户
提问于 2012-09-12 15:08:27
回答 1查看 1.5K关注 0票数 0

检查GitHub项目中的这个文章。自定义单元格( prepareForReuse类)的tableViewCellIsPreparingForReuse方法向表(RootViewController类)发送通知,该表由tableViewCellIsPreparingForReuse方法观察。该方法重置单元的关联键和图像视图。

那么,为什么作者宁愿通过通知发送它,而不是在从表的dequeueReusableCellWithIdentifier方法获得非零单元之后重新设置它们呢?

根据UITableViewCell文档,prepareForReuse是在dequeueReusableCellWithIdentifier之前调用的。

如果UITableViewCell对象是可重用的--也就是说,它有一个重用标识符--则在从UITableView方法dequeueReusableCellWithIdentifier:返回对象之前调用该方法。

我已经测试过,当dequeueReusableCellWithIdentifier返回一个非nill值时,它与对prepareForReuse的调用耦合在一起。

作者在JKCallbacksTableViewCell.h中评论了应用程序逻辑分离,但我认为这是一种过火;使用异步分派优化性能,但是发送那些缓慢的通知来重置某些属性……还是我漏掉了什么关于GCD的事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-12 19:21:03

大多数编程问题都有几乎无穷多的解决方案.除了通知是松散耦合的这一事实之外,我没有任何特殊的理由选择通知。

关于你对通知速度的评论:让应用程序慢下来的是加载图像,所以我们试图优化它。通知的速度不足以改变应用程序的使用,因此,出于纯粹的性能原因而使用其他东西在这里是没有道理的。

也就是说,它是在GitHub中的,所以可以随意发送不使用通知的拉请求。如果我更喜欢它,我就用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12391263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档