设计模式与协议
1、设计模式(单例模式)
1.1单例模式的含义:
1)单例就是C中的全局变量
2) 在整个程序⽣生命周期内,该对象只有⼀份存在内存中
3) 可以在多个对象之间共享数据
1.2单例模式的必要条件
1)类方法
2)全局变量
如:
static Person *person; / /全局变量
+(id)print{ //类方法print
if (person==nil) {
person=[[self alloc]init];
}
return person;
}
1.3单例的优缺点:
1.3.1 优点
1)只有一个对象存在,省内存
2)调用类方法即可实例化一个对象
1.3.2 缺点
1)每一次调用,都得被判断,占据内存
2)在实例化是用alloc init,不可用new
3)创建的对象永不被释放
2、协议(是多个对象之间协商的一个接口对象)
2.1 协议的创建
在h文件中协议的编写格式如下
#import <Foundation/Foundation.h>
@protocol myProtocol <NSObject>
method
2.1协议的规则(谁遵守谁实现)
1)协议可以⽤来声明一⼤堆方法(不能申明成员变量)
2)只要某个类遵守了这个协议,就相当于拥有了这个协议中的所有的方法申明
3)只要⽗父类遵守了某个协议,就相当于子类也遵守了此协议。
2.3 协议的编写格式,遵守协议符号是 < >
@protocol 协议名称 <NSObject>
如:
@protocol protocol1 <NSObject>
2.4协议的关键字
@required //这个方法必须要实现(默认)
@optional //这个方法 不一定要实现
如:
@required //以下方法必须实现
-(void)eat;
@optional //以下方法不一定实现
-(void)drink;
-(void)run;
2.5protocol的类遵守协议
@interface 类名 : 父类<协议名称>
@interface 类名 : 父类 <协议名1,协议名2 > //一个类可以遵守多个协议
如:
#import "protocol2.h"
@interface Panpan : NSObject<protocol2>
 2.6protocol的协议遵守协议
@protocol 协议名<其他协议名1,其他协议名2>
如:
#import "protocol1.h"
@protocol protocol2 <NSObject ,protocol1>
2.7protocol的基协议
1) NSObject是⼀一个基类,最根本最基本的类,任何其 他类最终都要继承它
2) NSObject是⼀一个协议,最根本最基本的协议,任何 协议最终都要继承它
3) NSObject协议中声明很多最基本的⽅方法,⽐比如 description、retain、release等
4) 建议每个新协议都遵守NSObject协议
2.8protocol的限制对象类
限制对象必须遵守某个协议写法:
类名 <协议名> *对象 = [ [ 类名 alloc] init ];
2.9protocol的判断定义
【对象名 respondsToSelector:@selector (方法)】
作用是:
判断当前对象中是否定义了这个方法
如:
[person respondsToSelector:@selector(sum: :) ]是筛选此类方法中是否有sum方法
sum: :是方法名
2.10协议的注意:
在协议中写@property name类属性,那么在遵守协议的类中需要写@synthesize name = _name;
[/code]
转载于:https://my.oschina.net/u/2555806/blog/595396
- WCF http net.tcp 多协议 设计模式 1
- Objective-C设计模式(MVC)的实现,以及协议与委托的运用
- 学习笔记:OC的protocol协议及代理设计模式
- WCF http net.tcp 多协议 设计模式 2
- 黑马程序员------[Objective-C]协议-代理设计模式
- 设计模式之原型模式(深入理解OC中的NSCopying协议以及浅拷贝、深拷贝)
- 5.3 iOS开发视频教程—协议和代理设计模式
- iOS设计模式学习 (二) OC协议之接口继承和代理设计
- 第八讲:Obj-C 协议 Delegate 代理设计模式
- [非凡程序员]OC设计模式:代理模式以及协议
- Objective-C中的协议和代理(委托)设计模式
- 第八讲:Obj-C 协议 Delegate 代理设计模式
- WCF http net.tcp 多协议 设计模式 4(总结)
- 协议的应用—代理设计模式
- iOS设计模式之自己设计与实现委托与协议
- iOS开发篇——OC 协议和代理设计模式介绍
- 设计模式与协议
- Objective-C——协议(Protocol)详解与代理(委托)设计模式
- iOS协议与代理设计模式介绍与使用
- Protocol and Delegate 协议和代理(设计模式之代理模式)