A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhaihaohk 中级黑马   /  2014-11-26 14:04  /  893 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马