我开始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