对比 Android 的 Intent 与 iOS StoryBoard 的 Segue
- Intent 如果也能增加个prepareForSegue回调就好了
太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商业用途-保持一致”创作公用协议
转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
最近时间不多,不过这么好的一个想法,不先留个脚印儿,随时间慢慢消散,那该有多可惜呀。
可以这里还要吐槽一下 Apple 近年来多方面对 Android 的 qie ,读书人的事情嘛,只能用这个字眼才准确 。
除了这个 Seque 对 Intent,还有 StoryBoard 中的原型 cell 机制,也许是巧合,就这么巧合与 Android 中的列表的机制一致。
这个可能也是自然而然的事情,早在 iOS 3 的时侯,俺为了偷懒,就已经把这部分封装起来,让某一自定义的 cell 以一个 table 为参数,在自定义 cell 的工厂方法中直接调用 table 的缓存 cell 获取,以该自定义 cell 的类名为标识, 如果有就返回缓存的,没有就新建一个返回。
但这种耦合性太强,后又建了个基类,所有自定义 cell 都继承自该 cell 基类,这一部分功能才算是固化下来。
不过一直想的是对那个 deque 方法进行重构,后来发现需要对表视图进行派生,这样不利于项目的通用性,就此作罢。
直到 storyboard 中原型 cell 的引入,终于完成了这个心愿,在此之前,一直在痛骂 apple ,就不能向 android 学一学。
可是,现在看来,apple 开始学了,是否晚了呢? nokia 放下面子了,是否还能再生呢?!谁知道了。
事事难料,我们每个人都是在摸索着前行,直到终老,能真正明白,也就不枉此生了。
下面的部分等有时间再构思完善,先列出个纲来:
1、android intent 机制描述;
2、apple 早期界面跳转;
3、storyboard 的引入,带来了 seque;
4、相比 seque,intent 如果要是能在转入下一页面时,先回调一个类似 prepareForSegue 的方法就好了,这样可以很容地操作系统生成的 activity!不过 intent 的传值能力估计足以解决大多问题,这个可以忽略,况且,fragment 才是王道,就如我做过的第一个 android 应用,居然是为模拟 iOS ,使用的 activity 管理器,将代码创建的 activity 的界面手工交替呈现到窗口上,后来看 android 源码,才发现这就是人家的早期设计,不过已经过时了。
大概就这些内容吧,连吐带唠地,希望能把 storyboard 的相关内容唠明白。
有时,会用,是一个理解层次;能说明白,又是一个层次;但要系统地讲解出来,那可不是一般的层次,需要花很多时间来整理才行,至少你的思路中是系统的。
不过俺确实暂时没时间,提供一份纲要,希望会有时间补全吧。