我開始Objective-C開發,我試圖圍繞一些事情的工作。我需要NSObject的子類嗎?
我正在創建一個Twitter客戶端並且有一個類「Tweet」。這只是一個DTO--一個有一些變量的類。
這應該只是一個類,還是應該從NSObject繼承?
爲什麼?或者爲什麼不呢?
我開始Objective-C開發,我試圖圍繞一些事情的工作。我需要NSObject的子類嗎?
我正在創建一個Twitter客戶端並且有一個類「Tweet」。這只是一個DTO--一個有一些變量的類。
這應該只是一個類,還是應該從NSObject繼承?
爲什麼?或者爲什麼不呢?
每個普通的類都應該從NSObject中繼承。像-retain
和-release
這樣的基本內存管理和像-isKindOfClass:
,-respondsToSelector:
這樣的運行時自檢不能沒有它。
當然,每個類都應該有NSObject或NSProxy作爲它的根對象,除非你真的想做很多額外的工作並且遭受好主意。 – theMikeSwan 2010-07-25 06:58:24
你應該,除非你有一個非常明確,強有力的理由不要。在Objective-C中,任何對象都可以被分配到一個id
。但id
並不保證任何方法,即使是分配,初始化,釋放和引用計數等標準操作。
這些由一個根類實現,它幾乎總是一個NSObject
。
另外,大多數Cocoa API預計會處理一個NSObject
,因爲它至少需要retain
和release
這個對象。
所以你應該從NSObject
繼承。
同樣的問題http://stackoverflow.com/questions/1588281/why-subclass-nsobject – 2010-07-25 06:20:20