类目、延展、协议

1、类目Categary

1 语法
@interface class name (category name)
//属性和方法
@end
2 作用:
1.  在不知道源码的情况下给现有的类扩展新方法
2.  进行代码规划,把类的实现按功能模块分为不同的文件,看名字就知道方法的功能

2、延展Extension

@interface <class name> ()
//添加属性和方法
@end
//1.用XCODE內建添加延展:不需在原有类的.h里声明,方法在原有类的.m里实现;main需导入延展的.h文件
//2.用@interface创建延展:方法若没有在.h里声明,则需用performselector:@selector()强制调用

3、协议Protocol

基本概念
1.  所有的协议有一基协议:NSObject协议,协议中方法的关键字也会继承
2.  一个类想拥有多种不同类型的行为,可以使用协议,OC里可以签署多个协议
语法
@protocol 协议明   <父协议名>
//协议方法
//@optional修饰的方法可选实现
//@required修饰的方法必须实现
//没有关键字修饰,默认就是@required
@end
实例对象签署协议
    id <协议名字> = 实例名
类签署协议
1.  一个类要签署协议,必须先导入协议的头文件
2.  在父类名字后面用'<>'括号里面写入协议名字
3.  协议可以签署多个,并且用','隔开
判断是否签署协议、实现方法
//是否签署协议
- (BOOL)conformsToProtocol:(Protocol *)aProtocol;
//是否实现方法
- (BOOL)conformsToProtocol:(Protocol *)aProtocol;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值