myprotocol01.h
首先声明一个协议protocolTest,然后是声明函数(可以一个或者多个),协议的每个采用者必须实现这些函数。
#import <Foundation/Foundation.h>
//协议
@protocol protocolTest<NSObject>
-(void)PTmethod01:(NSString *)str;
-(void)PTmethod02:(NSString *)str;
@end
定义一个类,采用上面的协议,就要实现上面两个函数。
.h文件
#import <Foundation/Foundation.h>
#import "myprotocol01.h"
@interface myclass : NSObject<protocolTest>
@end
.m文件
#import "myclass.h"
@implementation myclass
-(void)PTmethod01:(NSString *)str{
NSLog(@"%@",str);
}
-(void)PTmethod02:(NSString *)str{
NSLog(@"%@",str);
}
@end
main.m中调用
myclass *mc=[[myclass alloc]init];
[mc PTmethod01:@"方法一"];
[mc PTmethod02:@"方法二"];
这个就是协议的好处,它可以很好的解决object-c只能单继承的问题,更多的扮演C++和java中接口的角色。
本文介绍了Objective-C中的协议概念及其实现方式。通过具体的代码示例,展示了如何定义一个协议,并让类遵循该协议来实现指定的方法。此外,还讨论了协议在解决Objective-C单继承限制方面的作用。
1万+

被折叠的 条评论
为什么被折叠?



