複製鏈接
請複製以下鏈接發送給好友

foundation

(計算機專業術語)

鎖定
Foundation類層次的根是NSObject類,它(和NSObject及NSCopying協議一起)定義了基本的對象屬性和行為。
外文名
foundation
屬    性
計算機專業術語
NSObject類
用    途
定義基本的對象屬性和行為

目錄

foundation層次介紹

Foundation框架的剩餘部分由幾組相互關聯的類和一些獨立的類組成。有一些代表基本數據類型的類,如字符串、字節數組、用於存儲其它對象的集合類;一些代表系統信息的類,如日期類;還有一些代表系統實體的類,比如端口、線程、和進程。圖1、圖2、和圖3所示的類層次描述了這些類的邏輯分組及其繼承關係。
Founddation第一部分
Founddation第一部分 Founddation第一部分
Foundation類層次Foundation Continued
Founddation第二部分 Founddation第二部分
Founddation第二部分

foundationNsproty

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方法中使用的一組字符。
集合。集合是以一定的順序存儲和訪問其它對象(通常是數值)的對象。NSArray的索引從0開始,NSDictionary使用鍵-值對,而NSSet則負責對象的隨機存儲(NSCountedSet類使集合具有唯一標識)。通過NSEnumerator對象,您可以訪問一個集合中的元素序列。集合對象是屬性列表的必要元素,和其它所有對象一樣,它也可以被歸檔和分發。
操作系統服務。 很多Foundation類為訪問各種底層的操作系統服務提供便利,同時又把開發者從操作系統的具體特性隔離開來。舉例來説,您可以通過NSProcessInfo類查詢應用程序運行的環境;通過NSHost類得到主機系統在網絡中的名稱和地址;通過NSTimer對象,您可以按指定的時間間隔向其它對象發送消息;NSRunLoop可以幫您管理應用程序或其它類型程序的輸入源;而NSUserDefaults則為存儲全局(主機級別)和用户級缺省值(預置)的系統數據庫提供編程接口。
文件系統和URL。 NSFileManager為諸如創建、重命名、刪除、和移動文件這樣的文件操作提供統一的接口。NSFileHandle則可以進行較為底層的文件操作(比如文件內查找操作)。NSBundle可以尋找存儲在程序包中的資源,可以動態裝載某些資源(比如nib文件和代碼)。您可以用NSURL和NSURLHandle類來表示、訪問、和管理源於URL的數據。
進程間通訊。 這個範疇中的大部分類代表不同的系統端口、套接字、和名字服務器,對實現底層的IPC很有用。NSPipe代表一個BSD管道,即一種進程間的單向通訊通道。
線程和子任務。 NSThread類使您可以創建多線程的程序,而各種鎖(lock)類則為彼此競爭的線程在訪問進程資源時提供各種控制機制。通過NSTask,您的程序可以分出一個子進程來執行其它工作或進行進度監控。
歸檔和序列化。這個範疇中的類使對象分發和持久保留成為可能。NSCoder及其子類和NSCoding協議一起,可以以獨立於架構的方式來表示對象中包含的數據,可以將類信息和數據一起存儲。
表達式和條件判斷。條件判斷類,即NSPredicate、NSCompoundPredicate、和NSComparisonPredicate類,負責對獲取或過濾對象的邏輯約束條件進行封裝。NSExpression對象則代表條件判斷中的表達式。
Spotlight查詢。NSMetadataItem、NSMetadataQuery和相關的查詢類對文件系統的元數據進行封裝,使元數據的查詢成為可能。
Objective-C語言服務。NSException和NSAssertionHandler類為代碼中的斷言和例外處理提供了面向對象的封裝。NSInvocation對象是Objective-C消息的靜態表示,您的程序可以對它存儲,並在之後用於激活另一個對象的消息。undo管理器(NSUndoManager)和分佈式對象(Distributed Objects)系統都用到了這種對象。NSMethodSignature對象負責記錄方法的類型信息,可以用於信息的推送。NSClassDescription則是一個抽象類,用於定義和查詢類的關係和屬性。
腳本。這個範疇中的類可以幫助您實現對AppleScript腳本和Apple Event命令的支持。
分佈式對象。 您可以通過分佈式對象類來進行同一台電腦或一個網絡中的不同電腦上的進程間通訊。其中的兩個類-NSDistantObject和NSProtocolChecker的根類(NSProxy)和Cocoa其它部分的根類不同。
網絡。NSNetService和NSNetServiceBrowser類支持稱為Bonjour的零配置網絡架構。Bonjour是在IP網絡上發佈和瀏覽服務的強大系統。