/* 類別(category) // 爲現有類添加新方法 //聲明一個類別 @interface NSString (NumberConvenience) //類別名稱是NumberConvenience,能夠向NSString類中添加方法 -(NSNumber *) lengthAsNumeber; @end @implementation NSString (NumberConvenience) -(NSString*) lengthAsNumber { unsigned int length = [self length]; return ([NSString numberWithSignedInt:length]); } */ // @end //侷限性 //1. 沒法向類中添加新的實例變量,類別沒有位置容納變量 //2. 名稱衝突時(類別中的方法與現有的方法重名),類別具備更高的優先級。類別方法將徹底取代初始方法,初始方法再也不可用。 //委託是一種對象,另外一個類的對象會要求委託對象執行它的某些操做 // 例如:當AppKit類的NSApplication啓動時,它會詢問其委託對象是否應該打開一個無標題窗口 // NSWindow類的對象詢問它們本身的委託對象是否應該容許關閉某個窗口 // 還能夠編寫委託對象並將其提供給其餘一些對象,一般是提供給Cocoa生成的對象。經過實現特定的方法,你能夠控制Cocoa中對象的行爲