标签:
@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不能声明静态实例变量。可以声明静态全局变量。
标签:
原文地址:http://www.cnblogs.com/cai1432452416/p/5302669.html