主帖 12 条回复 iOS应用的界面比较复杂,应该怎么处理? coltfoal · 2015年07月24日 · 阅读 6 · 无人欣赏。 iOS是以Controller为核心的。 如果一个界面里面的内容很多,势必会造成在Controller里面需要产生的视图、模型、交互变多变复杂。如果每个功能独立那还好,实际上大部分功能都是互相影响的。Controller里面代理一大堆。 请问各位有经验的应该怎么处理这种问题?有什么通用的解决方法吗?
#1 tinyfool 2015年07月24日 你还没懂啊,Delegate的意思就是可以代理到任何地方去,一般来说放在一个Controller是为了逻辑方便,真的太多了,你就Delegate到其他地方去就好了,或者设计一个基类,或者用类组合都可以 欣赏 0 反对 0 回复本楼
#5 coltfoal 2015年07月24日 1楼 @tinyfool 比如我可以使用category来处理不同的功能模块和代理,但是在这些代理里我还可能产生其他界面,也有可能需要修改其他功能模块可能产生的界面,并与其进行交互,那又是如何处理的? 欣赏 0 反对 0 回复本楼
#8 coltfoal 2015年07月24日 感谢大家的热心回答。我可以举个例子,比如Microsoft在iOS的三个APP,单个界面囊括的东西很多,请问应该如何设计这种代码的结构,有没有类似的代码、文献等可以拜读参考? 欣赏 0 反对 0 回复本楼
#9 windgo 2015年07月24日 7楼 @coltfoal 可以反馈嘛. 很多东西, 你不说, 别人也不知道. 另外开发的工期总是你决定的. 揉在一起的太复杂的东西, 开发时间会比较长. 另一方面说, 复杂问题的解决, 就是分解. 想办法把界面分成几块(1~7块), 如果某部分还是复杂, 接着分解. 把一个长列表一样的东西, 搞成n叉树一样的结构, 问题就简单了. 欣赏 0 反对 0 回复本楼
#11 董一凡 2015年07月24日 10楼 @coltfoal 两个 viewcontroller 也会互相影响啊,你可以思考下为什么一个 app 有几十个 viewcontroller 也不会有你说的很多东西揉在了一起的感觉。然后你就明白你的东西该怎么设计了,本质上是一回事 欣赏 0 反对 0 回复本楼
#12 windgo 2015年07月24日 10楼 @coltfoal 尽量让依赖是单向的, 就是a模块调用b, 但是b模块不去调用a. 如果b模块调用a模块, 就用委托. 这样各个模块间的关系就不会变成一张网, 而是一棵树, 或者有层次结构的网. 欣赏 0 反对 0 回复本楼