框架设计

*1、保持原有的设计模式

*2、设计所有的模型的基类模型,底层最少做一个引用MJEXTENSION的操作

*3、将下载类创建到本地,通过类/或者对象方法获取

*4、将缓存彻底处理好

*5、将时间对比处理好

*6、将XML获取解析转字典封装好

*7、将现有的模板自己封装,并写成软件的形式注册

*8、将现有的所有方法过滤掉父类方法,而重新开发新的对象方法调用,同时子类实现,而不影响父类

*9、因为所有的模型可能存库,干脆直接都实现encoder和decoder方法

*10、所有的TableView都实现自动计算高度的方法,不管是XIB还是手写代码

*11、将键盘处理封装到基类,做成类/对象方法方便上层调用

*12、缓存方案重新理解:(1)在规定时间内,直接拉取缓存,不走网络,缓存没有,再拉取网络(2)先拉取网络,网络没有,再拉取缓存(3)。。。

*13、错误处理形式:(1)普通非列表Controller中,报错直接覆盖整个页面,提示没有网络,并增加点击重新拉取网络的功能,这里,可能是放到某个具体的View的视图中(2)列表和网络中处理是:没有数据时候,蒙住,并且做二个都有的操作,可以点击重新拉取,或者下拉重新拉取,有数据的时候,直接toast弹出告知用户弹出问题,且消失

*14、做一个MBProgress的时间长度的分类增加方法,这样,做到时间的长修改,同时修改mbprogress显示的颜色的深浅,不用这深颜色显示,同时将图片二次封装改成有颜色显示,这样显示更亲和

*15、修改下拉和上拉刷新的样式,将箭头位置移动,防嘉哥的APP

*16、将所有的字符串处理,日期处理,封装好,做到真正的好用,易用

*17、吸取思迪框架中所有有用的元素

*18、重写init方法,将所有的所有的Controller都赋予名字:就是initWithName,这不是最好的弄法,值得思想,保留这一思路,通过className相当于JAVA的反射拿到名字

*19、增加ViewModel层,将MVC改成MVVM模式,记住,不要将视图处理放到ViewModel层




 self transitionFromViewController:<#(UIViewController *)#> toViewController:<#(UIViewController *)#> duration:<#(NSTimeInterval)#> options:<#(UIViewAnimationOptions)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#>





本地缓存机制设计方案:

NSURLRequestUseProtocolCachePolicy:指定定义在协议实现里的缓存逻辑被用于URL请求。这是URL请求的默认策略
NSURLRequestReloadIgnoringLocalCacheData:忽略本地缓存,从源加载
NSURLRequestReloadIgnoringLocalAndRemoteCacheData:忽略本地&服务器缓存,从源加载
NSURLRequestReturnCacheDataElseLoad:先从缓存加载,如果没有缓存,从源加载
NSURLRequestReturnCacheDataDontLoad离线模式,加载缓存数据(无论是否过期),不从源加载
NSURLRequestReloadRevalidatingCacheData存在的缓存数据先确认有效性,无效的话从源加载





正方向传值:

//反向传值
http://www.2cto.com/kf/201403/287433.html       一种方式
反向传值设置:因为所有的子Controller都压在一个总的控制器里面,因此只要拿到总控制器
思考: 拿到返回的时候拿到Controller对象判断
思考:设置一个Paramater传参中间对象,用于传递值,参考丹哥在Android中传递值过程,用于setParamater和getParamater
思考:因为可能有多个传值过程,因此反向传递值,必须带有标识,建议将标识直接设置到Paramater中初始化方法中,并且提供二个初始化方法,正向传递是唯一的,不用type
思考:能否进一步 加强,做成可变参数,(暂时没有思路)




未解决:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值