有关协议的用法
来源:互联网 发布:淘宝运营专才 试题 编辑:程序博客网 时间:2024/04/25 12:42
首先要明白协议的作用,协议的作用就是对一些方法的声明,如果一个类遵守了此协议
就有了此协议中的所有方法,当然用有了这写方法后要对这些方法进行实现
oc中有关协议的用法如下:
1.协议的定义
@protocal 协议名称 <NSObject>
//方法的声明
- (void)test;
- (int) test2;
@end
例子:@protocol myprotocol <NSObject>
@end
2.一个类怎么遵守协议
@interface 类名:父类名<协议1,协议2>
@end
例子: @interface p :Person <Myprotocol>
@end
3.协议遵守协议
@protocol 协议名称<协议1,协议2>
@end
例子: @protocol Myprotocol <Protocol1,Protocol2>
@end
4.协议中的方法声明的关键字
(1)@require(默认)
要求实现,如果没有实现将会发出警告
(2)@optional
不要求实现,不实现也不会警告
5.定义一个变量的时候,限制这个变量保存的对象遵守某个协议
类名<协议名称> *变量名;
id<协议名称>变量名称;
例子:NSObject<Myprotocol>*obj;
id<Myprotocol> obj2;
如果没有对应的协议,编辑器会发出警告
6.@property中声明的属性也可用做一个遵守协议的限制
@property (nonatomic,strong) 类名<协议名称> *属性名;
@property (nonatomic,strong) id<协议名称> 属性名;
列子:@property (nonatomic,strong) Dog<Myprotocol>*dog;
@property (nonatomic,strong) id<Myprotocol>dog1;
另外补充一点分类的写法
在.h文件中
@interface Dog1 (Dog)
- (void)test;
@end
在.m文件中
@implementation Dog1 (Dog)
- (void)test
{
.....
}
@end
- 有关协议的用法
- 有关assert的用法
- 接口的有关用法
- 有关VA_LIST的用法
- 有关VA_LIST的用法
- 有关SubClassWindow的用法
- 有关JSTL的用法
- 有关VA_LIST的用法
- 有关VA_LIST的用法
- 有关VA_LIST的用法
- 有关sed的用法
- 有关automake的用法
- 有关VA_LIST的用法
- 有关getchar的用法
- 有关JSon的用法
- UILabel的有关用法
- 有关ServletConfig的用法
- 有关LDAP协议的整理
- poj 1008 Maya Calendar
- JAVA中的List的使用
- MFC小程序 简易网络聊天室 VS2012 ODBC连接MySql数据库和网络Socket通信
- ibaties自增
- ZOJ Problem Set - 1078 Palindrom Numbers
- 有关协议的用法
- linux内核--段页式管理内存的方法
- 比较 SLF4J 与 log4j
- c++程序设计原理与实践--读书笔记
- 类似天猫那样的侧边导航栏的快速实现
- 【Android API】java.util.List<E>
- 就地交换两个数
- mysql获取汉字拼音
- JDBC链接MySQL的源码