这是更小的代码特定问题的更一个Objective-C命名问题。在C你有的结构作为纯数据。在企业级Java,你有“豆”类,纯粹是用getter和setter成员变量,但没有业务逻辑。在Adobe Flex的,你有“值对象”。

在Objective-C中,有一个对象(从NSObject的后裔,当然)一个合适的名字,仅仅有实例变量和getter / setter方法(或@财产/ @合成,如果你想获得花式),并没有真正的商业逻辑?

一个更具体的例子可以是一个简单的类与getter和setter文件名,文件大小,描述,以及各种其他元数据。然后,您可以采取这些一堆,轻松地将其投入容器(的NSDictionary,NSArray的),而不需要一个C结构的杂乱NSValue包装。这也是一个不是把,比如说,一堆松散类型的孩子NSDictionaries成一个父容器对象多一点的结构。

有帮助吗?

解决方案

没有,有没有特别的名字(至少据我所知)。所有的Objective-C对象,从NSObject继承是第一类对象。你当然可以实现类只有getter和setter方法,但即使是合成的性能有轻微的“商业逻辑”为原子和内存管理。您可以使用C结构的纯数据,如果你想(在可可的例子是NSRect),但后来,正如你所说的,它更难以与其他类,如NSDictionary使用。

其他提示

有用于在Objective-C这样一类没有正式的名称。人们往往是指这样的事情“值对象”或“纯数据对象”,但两者都是那种超载,因为它们也可以被认为是指NSValue(或者,属性列表值)和NSData的子类。后者是描述它们的最简洁的方式,我想。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top