2013年6月12日 星期三

Cocoa Objective-C Hierarchy for Foundation

學習物件導向程式時,其實也是在學習怎麼利用現有的物件,來實現你想要做的事。就如同在寫程序導向語言,像 C 這一類的程式時,我們也習慣會去找看看是否有現成的函式庫可用,而不需要再重新發明輪子。所以,要怎麼知道或找到現成的物件來用,我覺得是很重要的一件事!

Cocoa 和 Cocoa Touch 提供的 frameworks 何其多?想要了解就是多寫多用而已。Foundation Framework 是最基礎的一個,也許可以從這個 framework 開始深入。

在 Apple 官方網站裡已經有提供我想知道的資料,「所有在 Foundation Framework 裡的物件」。

藍色的部份是 iOS 和 OS X 都有的;而灰色的部份只有 OS X 才有。







以功能性來說,可以把某些類別放在一起看。

Data storage:
NSDataNSString 提供物件導向位元組陣列的儲存。
NSValueNSNumber 提供物件導向簡單 C 資料值的儲存。
NSArrayNSDictionaryNSSet 提供 Objective-C 任意類別的儲存。

Text and strings:
NSCharacterSet 被 NSString 和 NSScanner 使用來表示對字元的群集處理。
NSString 可用於表示文字串及提供對字串搜尋、組合和比較的方法。
NSScanner 被用在掃描數字及 NSString 物件的文字

Date and times:
NSDateNSTimeZoneNSCalendar 儲存時間,日期和日暦資訊。提供了方法去處理日期和時間的計算。搭配 NSLocale 可以表示不同的格式顯示並且顯示世界各地的時間和日期。

Application coordination and timing:
NSNotification, NSNotificationCenter, and NSNotificationQueue 提供系統一個物件去通知對發生變化有興趣的觀察者。使用 NSTimer 可以在特定的時間送出訊息給另一個物件。

Object creation and disposal:
NSAutoreleasePool 用來延遲釋放物件。

Object distribution and persistence:
使用 NSPropertyListSerialization 可以把包含資料的物件以獨立架構的方式儲存。
NSCoder 和它的子類別則進一步的處理資料。

Operating-system services:
有些類別則是設計用來把你和作業系統的特性隔離。NSFileManager 提供了一致的介面來操作檔案(建立,重新命名及刪除等)。NSThreadNSProcessInfo 讓你建立多緒應用程式及詢問應用程式執行時的環境變數。

URL loading system:
有一系列的類別和協定來處理一般的網路協定。

沒有留言:

張貼留言