黑马程序员技术交流社区
标题:
Object C 语法总结四
[打印本页]
作者:
zhaihaohk
时间:
2014-11-26 14:04
标题:
Object C 语法总结四
1.category(类别)
category是OC里面最常用到的功能之一。category可以为已经存在的类增加方法,而不需要增加一个子类。另外,category使得我们在不知道某个类的内部实现的情况下,为该类增加方法。
如果我们想增加某个框架(framewordk)中的类的方法,category就非常有效。比如,如果想在NSString上增加一个方法来判断它是否是一个URL,那可以这么做:
------------------------------
@interface NSString (Utilities)
- (BOOL) isRUL
@end
-------------------------------
注意,类别并不能为类声明新的实例变量,它只包含方法。
2.OC中的宏定义和条件编译#ifnde
f跟C++中是一样的,需要注意这个:
如果在宏定义的参数之前防止一个#,那么在调用该宏的时候,预处理程序根据宏参数创建C语言风格的常量字符串。
例如:
#define str(x) #x
在后面的调用为str(test);得到的结果为"test"
3.来看看这行代码:
NSAutoreleasePool *pool =[[NOSAutoreleasePool alloc] init];
这行代码为我们分配了pool的自动释放池预留了内存空间。自动释放池可以自动释放添加到该池中的对象所使用的内存。当给对象发送一条autorelease消息时,就将该对象放到这个池中。释放这个池时,添加到该池中的所以对象都会一起被释放,因此所以这样的对象都会被销毁,除非已经指明了这些对象所在的作用域超出自动释放池。
NSInteger其实是typedef long
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2