Protocol

Protocol(协议):协议就是我定的一些方法,找一个人来帮我实现.协议里的方法有两种一种

 
(@required)必须执行,第二种(@optional)可选择性执行.
 
协议只是一堆方法的声明,也就是说协议只有.h文件,没有.m文件,谁遵守协议,谁就要实现协议里的规定的方法.协议通常与代理一起出现.
 
创建协议文件
Object-C protacol
 
生成ProtacolName.h
 
@protocol ProtacolName<NSObject>
 
@required
 
//必需实现的方法
 
@optional
 
//选择性实现的方法
 
@end;
 
有Protocol(协议)必需有delegate(代理).通俗来讲就是代理商,主要的任务是帮你完成一些任务.
 
首先创建一个类对象
xxx.h
@interface xxx : NSObject
{
//创建一个实例变量.
//为实例变量创建一个代理
id<ProtocolName> _代理变量名
}
 
//声明实例变量set/get方法
//同样也要声明代理变量的set/get方法
 
//实例变量初始化
//注意代理变量不需要初始化
 
//声明一些实例变量方法
//声明需要代理完成的方法
 
@end;
 
xxx.m
@implementation xxx
//实现实例变量set/get方法
//实现代理的set/get方法
- (void)setDelegate:(id<ProtocolName>)delegate
{
_delegate = delegate;
}
- (id<ProtocolName>)delegate
{
return _delegate;
}
 
//实现方法
//实现需要代理完成的方法
- (void)methodName
{
[_delegate ProtocolMethod];
}
@end;
posted @ 2015-04-11 23:13  汪高明  阅读(338)  评论(0编辑  收藏  举报