KVO相信iOS开发者们都听说过,在面试中也会被常常问到,但是呢对于KVO来说更多的事情是由系统来做的,依赖于运行时,相对于Notification,delegate来说是比较简单的,提供观察属性旧值与新值,以下单纯的说下自己对KVO的实现原理粗略理解,用Runtime简单模拟实现KVO。
阅读全文
Objective-C 是一个动态语言,这意味着它不仅需要一个编译器,也需要一个运行时系统来动态得创建类和对象、进行消息传递和转发。理解 Objective-C 的 Runtime 机制可以帮我们更好的了解这个语言,适当的时候还能对语言进行扩展,从系统层面解决项目中的一些设计或技术问题。了解 Runtime ,要先了解它的核心 - 消息传递 (Messaging)。
阅读全文
我们常见的分层架构,有三层架构:视图层、业务层、数据层。也有四层架构:视图层、业务层、网络层、本地数据层。
这里说三层、四层,跟TCP/IP所谓的五层或者七层不是同一种概念。再具体说就是:你的架构在逻辑上设计的是几层那就是几层,具体每一层的名称和作用,没有特定的规范, 这主要是针对模块分类而言的。
阅读全文
抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。 阅读全文
工厂方法(Factory):定义创建对象的接口,让子类决定实例化哪一个类。工厂方法使得一个类的实例化延迟到其子类。
阅读全文
常用工厂模式有简单工厂模式、工厂方法模式、抽象工厂模式
阅读全文
在项目中经常会用到代理的设计模式,这是iOS中一种消息传递的方式,也可以通过这种方式传递一些参数。在项目中,刚开始我是用一些代理来传递参数的,但是慢慢觉得代理的代码比较block多,所以就更多的使用了block。前几天突然想到了代理的设计模式,回头又详细看了下代理的相关文档,在此把个人看法记录下来。
阅读全文
block是一个OC对象, 它的功能是保存代码片段, 预先准备好代码, 并在需要的时候执行.
阅读全文