码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-03-21 18:11:21      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

  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

标签:

原文地址:http://www.cnblogs.com/cai1432452416/p/5302669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!