iOS架构小知识点

原创 2015年11月19日 11:32:24

关于继承

  1. 虽然继承是代码复用的一种方案,但不是所有场景都适用于继承。继承是紧耦合的一种模式,易牵一发动全身,高耦合在复用时造成冗余。解决方案之一:用组合代替继承。

  2. 组合和继承的选择:is a & has a.考虑是否需要从新类上溯回基本类,需要则用继承。比如:Vehicle类是所有车辆的类,它至少具有可被驾驶的功能;而Car是所有小娇车的类,它具有了载人的功能,它必须回溯,因为它必须具有被驾驶的功能。而Car上的方向盘与刹车,与Car之间只是简单地使用了它们具有的功能,是整体与部分的关系。所以是组合使用的。

  3. 使用继承需注意:父类只是给子类提供服务,并不涉及子类的业务逻辑;父类的所有变化,需在子类中体现,即需求决定用继承;当发现继承超过2层后,考虑是否应该用继承这种方案了。

VC生命周期事项

  • 在viewDidload里面只做addSubview的事情,在viewWillAppear中更新Form数据(Autolayout发生在viewWillAppear之后,严格来说这里通常不做视图位置的修改);改变位置可以放在viewWilllayoutSubview或者viewDidLayoutSubview里,而且在viewDidLayoutSubview确定UI位置关系之后设置autoLayout比较稳妥。最后在viewDidAppear里面做Notification的监听之类的事情。所有初始化,则交给getter去做。
  • 所有button,gestureRecognizer的响应事件都放在专门开设的event response区域里
  • 除此之外只剩私有方法了,而对于私有方法,一般不应该放在viewController中,可写成一个category,或一个模块。

补充:

1.alloc 创建对象,分配空间
2.init (initWithNibName) 初始化对象,初始化数据
3.loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
4.viewDidLoad 载入完成,可以进行自定义数据以及动态创建其他控件
5.viewWillAppear 视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了
6.viewWillLayoutSubviews:控制器的view将要布局子控件
7.viewDidLayoutSubviews:控制器的view布局子控件完成
8.viewDidAppear 视图已在屏幕上渲染完成

当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反
1.viewWillDisappear视图将被从屏幕上移除之前执行
2.viewDidDisappear 视图已经被从屏幕上移除,用户看不到这个视图了
3.dealloc 视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放
(这期间系统可能会多次调用viewWillLayoutSubviews 、    viewDidLayoutSubviews 俩个方法)

当我们点击push的时候首先会加载下一个界面然后才会调用界面的消失方法
1. initWithCoder:(NSCoder *)aDecoder:ViewController2 (如果用xib创建的情况下)
2. loadView:ViewController2
3. viewDidLoad:ViewController2
4. viewWillDisappear:ViewController1 将要消失
5. viewWillAppear:ViewController2 将要出现
6. viewWillLayoutSubviews ViewController2
7. viewDidLayoutSubviews ViewController2
8. viewWillLayoutSubviews:ViewController1
9. viewDidLayoutSubviews:ViewController1
10. viewDidDisappear:ViewController1 完全消失
11. viewDidAppear:ViewController2 完全出现

架构思想

三要点:代码规范,架构模式,工具集

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

IOS_图形绘制知识点补充

  • 2015-06-02 20:33
  • 428B
  • 下载

应用集成的四种系统架构方式(系统分析师知识点)

应用集成的四种系统架构方式(系统分析师知识点) 2010年上半年系统分析师上午第29题 ● 实施应用集成时,系统集成架构的选择对集成工作来说至关重要。某企业欲在其分布式异构环境中实现系统之间的协作...

ios知识点 小项目

  • 2015-10-06 16:08
  • 25KB
  • 下载

iOS项目开发知识点总结

  • 2012-02-09 17:07
  • 798KB
  • 下载

3.3程序设计框架架构基础相关知识点-技术

0.1请你谈谈SSH整合:     SSH:     Struts(表示层)+Spring(业务层)+Hibernate(持久层)     Struts:     Stru...

ios开发知识点

  • 2014-08-16 01:21
  • 534B
  • 下载

hadoop知识点总结(三)YARN设计理念及基本架构

hadoop知识点总结(三)YARN设计理念及基本架构 学习笔记
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)