ios - UITableView中,既然dataSource拆出去了,delegate该不该拆出去?
大家讲道理
大家讲道理 2017-04-17 13:50:47
[iOS讨论组]

看了objc.io的文章很疑惑

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
PHP中文网

可以的,这样把UITableView完全抽离出去,作为一个 Director 统一控制。objc 的文章只是提供个思路,毕竟 delegate 的代码其实不多,datasource 往往才是大头

高洛峰

我觉得是一定要。

因为numberOfRowcellForRow这两个方法是在dataSource里,但是heightForRow却是在delegate里。我个人认为它们完全不应该分开。

迷茫

datasource尽量拆出去:
它的任务可能是
1)获取初级数据
2)在1)的基础上如果需要进一步的转化为UI数据,这里做一层转化成UI可以直接使用数据,比如:
lableTextString(s), XXimage(s), xxCellItem(s)。。。
拆出去的好处是为了让viewController职责更清晰明了,更模块化,代价就是加了一个属性(中间层)。如果你一个controller有多个tableview或者collectionview又或者你的数据比较麻烦。那你最好拆出去!

delegate看你了具体需求了。拆出去可能会使得原本一个页面间的数据传递会显得比较蛋疼。。所以这里你要权衡~

anyway,任何模式都是看需求的。。。不是死的,如果你一个视图控制器压根没啥复杂的功能,你完全可以写在一起。任何模式都是有实际场景的,脱离了场景一切都没有意义!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号