OC第六天笔记2016年03月21日(周一)A.M
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OC第六天笔记2016年03月21日(周一)A.M相关的知识,希望对你有一定的参考价值。
- 在OC中,我们通过使用协议和分类来实现多继承的效果。
- 协议只能声明方法,而不能有任何实例变量。
- 声明协议:
@protocal protocolName<protocol ,…>
@optional //可选择的
@require//必须的 默认
@end
eg:
1 @protocal rules<NSObject >
2
3
4
5 @interface abc: NSObject <rules>
6
7 @end
//协议中只有方法声明,没有实例变量
在类中的实现文件实现。 在main 函数利用消息机制调用。
4. 分类:给原有类增加方法,不能是实例变量。
1 @interface NSString (detail)
2
3 @end
分类的目的:原有类的方法不足,原有类型方法名太复杂,不易于理解和记忆。
分类是原有类的一部分。
分类中不能有继承,但是可以遵循协议。
5. 其它特性:performSelector
//函数的实参 不带参数的
-(id) performSelector:(SEL)aSelector;
//函数的实参 带一个参数
-(id) performSelector:(SEL)aSelector withObject:(id)
anObjectAsParameter
//函数的实参 最多传俩参数
-(id) performSelector:(SEL)aSelector withObject:(id)
anObjectAsParameter withObject:(id)anotherObjectAsParameter;
6. OC不能声明静态实例变量。可以声明静态全局变量。
以上是关于OC第六天笔记2016年03月21日(周一)A.M的主要内容,如果未能解决你的问题,请参考以下文章