您的位置:首页 > 移动开发 > Objective-C

objective-C 协议的一点点领会

2014-11-28 15:41 295 查看
首先

指定协议

@protocol XNQDelegate <NSObject>

@required
/**
* @brief 说话
* @note 呵呵
* @param 无
* @return 无返回
*/
-(void)say:(NSString *)words;

@optional
/**
* @brief 吃饭
* @note 呵呵
* @param 无
* @return 无返回
*/
-(void)eat:(NSString *)something;

@end

协议的执行方需要:

1.导入头文件
#import "ZCProtocol.h"//1
2.遵守协议
<XNQDelegate>//2
3.设置协议的代理方

ZCOtherViewController *zvc = [[ZCOtherViewController
alloc] init];
zvc.myDelegate =
self;
[self
presentViewController:zvc
animated:YES
completion:nil];

4.实现协议的方法,@optional为必须实现,@optional为可以实现可以不实现

-(void)say:(NSString *)words//3
{
NSLog(@"say %@",words);
}
-(void)eat:(NSString *)something
{
NSLog(@"eat %@",something);
}

协议的委托方需要执行
1.导入头文件
#import "ZCProtocol.h"//1

2.定义协议变量

@property (assign)
id<XNQDelegate> myDelegate;//2
3.在需要的地方执行方法

if ([self.xnqdelegate
respondsToSelector:@selector(say:)]) {
[self.xnqdelegate
performSelector:@selector(say:)withObject:@"123"];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: