2010-07-25 58 views
1

我開始Objective-C開發,我試圖圍繞一些事情的工作。我需要NSObject的子類嗎?

我正在創建一個Twitter客戶端並且有一個類「Tweet」。這只是一個DTO--一個有一些變量的類。

這應該只是一個類,還是應該從NSObject繼承?

爲什麼?或者爲什麼不呢?

+0

同樣的問題http://stackoverflow.com/questions/1588281/why-subclass-nsobject – 2010-07-25 06:20:20

回答

4

每個普通的類都應該從NSObject中繼承。像-retain-release這樣的基本內存管理和像-isKindOfClass:,-respondsToSelector:這樣的運行時自檢不能沒有它。

+1

當然,每個類都應該有NSObject或NSProxy作爲它的根對象,除非你真的想做很多額外的工作並且遭受好主意。 – theMikeSwan 2010-07-25 06:58:24

1

你應該,除非你有一個非常明確,強有力的理由不要。在Objective-C中,任何對象都可以被分配到一個id。但id並不保證任何方法,即使是分配,初始化,釋放和引用計數等標準操作。

這些由一個根類實現,它幾乎總是一個NSObject

另外,大多數Cocoa API預計會處理一個NSObject,因爲它至少需要retainrelease這個對象。

所以你應該從NSObject繼承。