OC第六天笔记2016年03月21日(周一)A.M

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OC第六天笔记2016年03月21日(周一)A.M相关的知识,希望对你有一定的参考价值。

  1. 在OC中,我们通过使用协议和分类来实现多继承的效果。
  2. 协议只能声明方法,而不能有任何实例变量。
  3. 声明协议:

@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的主要内容,如果未能解决你的问题,请参考以下文章

C语言第六天笔记2016年01月19日(周二)A.M

OC第七天笔记2016年03月21日(周一)P.M

OC第八天笔记2016年03月23日(周三)A.M

OC第七天笔记2016年03月22日(周二)A.M

iPhone 第一天笔记2016年03月28日(周一)A.M iPhone开发入门

OC第九天笔记2016年03月24日(周四)A.M