类目、延展、协议
2016-04-17 23:55
274 查看
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;
相关文章推荐
- 第七周作业
- 20145314郑凯杰 《Java程序设计》第7周学习总结
- poj--2661 Factstone Benchmark
- TextToSpeech的使用
- Linux每天学习一个命令之whereis命令
- .NET 中的 async/await 异步编程
- 《Java程序设计》第二次实验报告
- 20145331 《Java程序设计》第2次实验报告
- 1008—猜数字
- 10.Power of Two-Leetcode
- 《第一行代码》第八章 通知的使用(NotificationTest)
- 威佐夫博弈
- java第二次试验
- MRC和ARC混编
- .NET设计模式(2):1.2 抽象工厂模式(Abstract Factory)
- 手把手教android studio中安装Android Butterknife Zelezny
- 2016.4总结(月考省选期中三连挂)
- 2016.4总结(月考省选期中三连挂)
- PHP5+Apache2.4配置遇到的问题及解决办法
- 如何用 block代替 delegate回掉