Foundation框架的剩余部分由几组相互关联的类和一些独立的类组成。有一些代表基本数据类型的类,如字符串、字节数组、用于存储其它对象的集合类;一些代表系统信息的类,如日期类;还有一些代表系统实体的类,比如端口、线程、和进程。图1、图2、和图3所示的类层次描述了这些类的逻辑分组及其继承关系。
Founddation第一部分
Founddation第一部分
Foundation类层次Foundation Continued
Founddation第二部分 Founddation第二部分
Founddation第三部分 Founddation第三部分
上面这些框图按照如下范畴(和下文提到的其它关联关系)将Foundation框架中的类进行逻辑分类:
值对象。值对象封装了各种类型的数据,提供对数据进行访问和各种操作的途径。因为它们都是对象,所以可以对它们(和它们包含的数值)进行归档和分发。NSData类为字节流提供面向对象的存储空间,而NSValue和NSNumber类则为简单的标量值数组提供面向对象的存储空间。NSDate、NSCalendarDate、NSTimeZone、NSCalendar、NSDateComponents、和NSLocale类提供代表时间、日期、日历、和地域设置(locales)的对象。它们包含的方法可以用于计算日期和时间差、以各种格式显示日期和时间、以及调整世界上各个位置时间和日期。
字符串。NSString是另一类值对象,负责为以null结尾的、具有特定编码的字节数组提供面向对象的存储空间。它支持对UTF-16、UTF-8、MacRoman、和很多其它编码的字符串之间进行转换。NSString还提供对字符串进行检索、组合、和比较、以及对文件系统路径进行操作的方法。您可以用NSScanner对象来对NSString对象中的数字和词进行解析。NSCharacterSet(显示在框图中的集合类部分)代表可以在各个NSString和NSScanner方法中使用的一组字符。