学到这里,基本上对oc的语法已经知道一二了,确实通过与java的对比学习,也加深了印象,基本上能读懂oc的代码了,之后就是要练习加实践了,之后会通过first-blood系列来记录我的每一次实践,以此巩固,积累。
Categories类别
oc中还是给现有的类分类别。
|
|
类别的特性
1.一个类别可声明任何类,即使不具备原来的实现源代码
2.任何一个人类别中申明的方法将所有的原始类的实例,以及任何原始类的子类
3.在运行时,一个类别添加方法没有任何区别,一个是通过原来的类。
4.类别中只能添加方法,不可添加新的变量
Posing/冒充
冒充在Mac OS x10.5宣布弃用,此后都不再使用了。
扩展
|
|
@protocol 协议名 //定义协议
方法定义;
@end
@interface 类名:父类名<协议名1,协议名2,协议名3…>
```
3.协议修饰指令
@required 必须的
@optional可选的
Foundation/基础框架
该框架提供一小部分基本实用工具类,几乎是一个必须使用基础框架。
1.数据存储
NSArray & NSMutableArray
NSArray用来装不可变的对象数组,NSMutableArray用来容纳一个可变数组对象。
对于数据存储,java也是有集合array,并且长度也是可变的,
NSDictionary & NSMutableDictionary
一个用于容纳一个不可变的对象,一个用于容纳一个可变的对象字典。
NSSet & NSMutableSet
一个用来保持一个不变集的不同对象,一个用于容纳一个可变设置的不同对象。
2.文本和字符串
NSCharacterSet表示各种分组NSString和NSScanner类所使用的字符。
3.日期和时间
NSDate 和NSDateFormatter类提供的日期和时间的功能。
和java很相似,进行时间和日期格式的转换。
异常处理
使用NSException类作为基类
@try @catch @finally
文件处理
NSFileManager类实现大多数文件操作功能。
访问网络的URL加载
内存管理
1.手动保留释放或MRR
2.自动引用计数或ARC