是否有纯数据Objective-C类的名称?

时间:2010-05-16 19:19:44

标签: objective-c data-structures nomenclature

这不是特定于代码的问题,而是更多的Objective-C术语问题。在C中,您有纯数据的结构。在Enterprise Java中,您有“bean”类,这些类纯粹是具有getter和setter的成员变量,但没有业务逻辑。在Adobe FLEX中,您有“值对象”。

在Objective-C中,是否存在一个对象的正确名称(当然是NSObject的后代),只有ivars和getters / setter(或@ property / @ synthesize,如果你想得到想象)并且不真实商业逻辑?

更具体的示例可能是一个简单的类,其中包含文件名,文件大小,描述和各种其他元数据的getter和setter。然后你可以把一堆这些并轻松地放入一个容器(NSDictionary,NSArray)中,而不需要对C结构进行混乱的NSValue包装。它也比将一堆松散类型的子NSDictionaries放入父容器对象中的结构要多一些。

2 个答案:

答案 0 :(得分:2)

不,没有特别的名字(至少据我所知)。从NSObject继承的所有Objective-C对象都是第一类对象。您当然可以使用getter和setter实现类,但即使是合成属性也具有适用于原子性和内存管理的温和“业务逻辑”。如果需要,可以将C结构用于纯数据(Cocoa中的一个例子是NSRect),但是,正如你所说,它更难以与NSDictionary等其他类一起使用。

答案 1 :(得分:0)

Objective-C中没有这类课程的正式名称。人们倾向于引用诸如“值对象”或“纯数据对象”之类的东西,但这两者都是过载的,因为它们也可以被用来引用NSValue(或者属性列表值)和NSData子类。我认为后者是描述它们最简洁的方式。