iOS 常用设计模式和机制之 KVC】的更多相关文章

KVC 1  key Value Coding,键值编码,是一种间接访问实例变量的方法 2  KVC 提供了一种使用字符串(key)而不是访问器方法,去访问一个对象实例变量的机制 3  KVC 常用方法 -(id) valueForKey:(NSString *)key; -(void) setValue:(id)value forKey:(NSString *)key; -(id) valueForKeyPath:(NSString *)keyPath; -(void) setValue:(i…
Delegate : 1 代理设计模式的使用我们首先需要明白三个要素 *委托方:委托别人去执行某些操作的人(对象) *代理方:被委托区执行某些操作的人(对象) *协议:(protocol)委托方需要代理方执行的操作 > 协议是一套标准(一堆方法的声明),只有 .h 文件.协议的定义以 @protocol 开始,以 @end 结束. > 协议中的方法默认是必须实现的,@required .关键字 @optional 修饰的方法是可选的,课实现也可不实现. 2 delegate 的设计步骤 步骤1…
KVO http://blog.kyleduo.com/2014/10/20/ios_learning-kvo/ 定义: KVO:Key-Value Observing,是Foundation框架提供的一种机制,使用KVO,可以让       观察者(Observing)        方便地对指定对象(Object)   的   指定属性(Key)    进行观察,当属性发生变化       <如值(Value)变化时>    时,观察者  会被通知. 使用:KVO只需要两个步骤: 1.注册…
Block :block 实际上就是 Objective-C语言对闭包的实现 闭包(Closure):闭包就是一个函数,或者一个指向函数的指针,加上这个函数执行的非局部变量.闭包允许一个函数访问声明该函数运行上下文中的变量,甚至可以访问不同运行上文中的变量. 1 block 的原型 和 定义 *block的 原型: int  ( ^ sumblock ) ( int , int ); 上面的代码声明了一个block(^)的原型,名字叫做 sumblock,包含两个 int 型的参数,返回值为 i…
对于iOS开发,举例Cocoa框架下的几个设计模式为大家分析.当然,Cocoa框架下关于设计模式的内容远远不止这些,我们选择了常用的几种:单例模式.委托模式.观察者模式.MVC模式. 委托模式 委托模式从GoF 设计装饰(Decorator).适配器(Adapter)和模板方法(Template Method)等模式演变而来.几乎每一个应用都会或多或少地使用到委托模式.不只是CocoaTouch框架,在Cocoa框架中委托模式也得到了广泛的应用. 问题提出 对于应用生命周期的非运行状态——应用启…
MVC 模型-视图-控制器(MVC)设计模式 MVC根据角色划分类,涉及到三个角色: Model:模型保存应用程序的数据. View:视图是模型的可视化表示以及用户交互的控件. Controller:控制器是一个协调所有工作的中介者.它访问模型中的数据并在视图中展示它们,同时它们还监听事件和操作数据. 单例设计模式 单例设计模式可以确保对于一个类只有一个实例(对象)存在,这个对象有一个全局的访问点.通常采用懒加载的方式在第一次用到对象的时候才去创建它. 如何创建一个单例: 如:在SortDeta…
1. 简单工厂模式 如何理解简单工厂,工厂方法, 抽象工厂三种设计模式? 简单工厂方法包含:父类拥有共同基础接口,具体子类实现子类特殊功能,工厂类根据参数区分创建不同子类实例.该场景对应的UML图如下所示: 代码结构如下 Animal 类 @interface Animal :NSObject @proterty(nonatomic,strong) NSString *name; -(void)laugh; @end Dog类 @interface Dog:Animal @end Cat类 @i…
一.原则 1.单一职责原则 (Single Responsiblity Principle SRP) 2.开闭原则(Open Closed Principle,OCP) 3.里氏替换原则(Liskov Substitution Principle,LSP) 4.依赖倒转原则(Dependency Inversion Principle,DIP) 5.接口隔离原则(Interface Segregation Principle,ISP) 6.合成/聚合复用原则(Composite/Aggregat…
IOS开发常用设计模式 说起设计模式,感觉自己把握不了笔头,所以单拿出iOS开发中的几种常用设计模式谈一下. 单例模式(Singleton) 概念:整个应用或系统只能有该类的一个实例 在iOS开发我们经常碰到只需要某类一个实例的情况,最常见的莫过于对硬件参数的访问类,比如UIAccelerometer.这个类可以帮助我们获得硬件在各个方向轴上的加速度,但是我们仅仅需要它的一个实例就够了,再多,只会浪费内存. 所以苹果提供了一个UIAccelerometer的实例化方法+sharedAcceler…
iOS常用的设计模式有:单例模式.委托模式.观察者模式和MVC模式.下面分别简单介绍. 一:单例模式 我们常用的UIApplication.NSUserdefaults.NSNotificationCenter这些类都是单例类. 单例模式的作用是解决应用中只有一个实例的一类问题,例如 UIAPPlication,这个实例代表了整个应用程序对象,它只能是一个实例,来实现应用程序中一些共享资源的访问和状态的保持等.我们常使用 [[UIApplication sharedApplication] op…