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;