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 完全出现

架构思想

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

软件架构师知识点1

  • 2017年11月13日 07:54
  • 966KB
  • 下载

Angular2文档学习的知识点摘要——架构概览、根模块

目录目录 架构概览 模块 组件 模板 元数据Metadata 数据绑定 指令directive 服务 依赖注入 其他重要的Angular特性和服务架构概览 用 Angular 扩展语法编写 HTML ...

软件架构师知识点2

  • 2017年11月13日 09:58
  • 396KB
  • 下载

IOS_图形绘制知识点补充

  • 2015年06月02日 20:33
  • 428B
  • 下载

Android群英传知识点回顾——第三章:Android控件架构与自定义控件详解

Android群英传知识点回顾——第三章:Android控件架构与自定义控件详解知识点目录 3.1 Android控件架构 3.2 View的测量 3.3 View的绘制 3.4...

ios知识点 小项目

  • 2015年10月06日 16:08
  • 25KB
  • 下载

iOS项目开发知识点总结

  • 2012年02月09日 17:07
  • 798KB
  • 下载

网络分层架构 & ARP & baidu.com 访问过程 知识点总结

OSI & ARP & www.baidu.com 的访问过程

ios开发知识点

  • 2014年08月16日 01:21
  • 534B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS架构小知识点
举报原因:
原因补充:

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