level 12
蓝鸥iOS开发者
楼主
Foundation之于Objective-C就好比Java中SDK类库之于Java。
这个框架提供了基本的Objective-C的类,最重要的根类,NSObject,它定义了基本的对象行为。
框架包括了各种基本数据类型、**,操作系统服务的对象的类。Foundation同样包含了几种设计模式
和机制,以遍设计出更健壮和高效的Objective-C程序。
一:基本的Protocols (类似于Java中的接口。明显的区别是,Protocols中允许可选实现方法。
我下面写的“采纳”类似于Java中的实现。
(1)NSObject ,值得注意的是它的名字跟NSObject类同名。
采纳了这个协议的类,就可以被查询它们的类和父类,可以跟其他对象比较。
(2)NSCoding,采纳了这个协议的类可以被编码和解码。
(3)NSCoping,这个协议只定义了一个方法,copyWithZone:,如果一个类支持对象拷贝那么就需要采纳这个协议。
二:基本的类
(1)NSObject ,NSObject类是Objective-C类继承体系中的根类。
NSObject类采纳了NSObject协议。
(2)NSNumber ,它是用于处理基本数据类型的工具类,是NSValue的子类。
它为标量提供了面向对象的封装和指针。值得注意的事,从NSNumber中取出的值
应该与存储的值保持一致。NSNumber会尝试将存储的值动态转换为所需要的值。
(3) NSString ,对应与Java中的String类。保存的事Unicode字符。
跟Java中的一样,NSString实例是不可变得。如果需要修改字符串,
你可以先创建一个NSMutableString(类似Java中的StirngBuilder)然后进行修改。
关于NSString的其他操作,我会放到其他的文章中。
(4)NSArray和NSSet,NSMutableArray,
基本对应于Java中的(Array,Set,List)
(5)NSDictionary和NSMutableDictionary。
NSMutableDictionary类似于Java中的Map。NSDictionary则是不可变得Map。