可可中的爪哇豆?

发布于 2024-11-04 16:50:21 字数 455 浏览 5 评论 0原文

我不清楚在可可中表示具有属性的简单数据对象的最合适方法是什么。

在 Java 中,java bean 对于实现此类对象非常有意义:声明对象的所有属性并为每个属性创建 getter 和 setter。

在可可中,我们可以遵循相同的方法。但你也可以只使用 NSDictionary。什么时候哪种方法最有意义?

举一个具体的例子:表示具有两个属性(例如轴数和颜色)的车辆的最“合适”方式是什么?您是否创建一个从 NSObject 子类化并具有两个属性 numberOfAxles 和 color 的 Vehicle 类?您是否使用两个键创建 NSDictionary 的子类?

前一种方法对我来说似乎更干净,但是当我查看 Apple 的代码示例(例如 UICatalog)时,我发现到处都有字典数组来表示数据源。我觉得很奇怪。仅仅是因为 NSDictionary 提供了一种快速而肮脏的方式来表示数据对象,这在简单、独立的示例中很实用吗?

I am unclear what's the most appropriate way to represent simple data objects with properties in cocoa.

In Java, java beans make a lot of sense to implement such objects: declare all the properties of your object and create getters and setters for each of these properties.

In cocoa, we can follow the same approach. But you can also just use an NSDictionary. Which approach makes most sense when?

Taking a concrete example: what's the most "appropriate" way of representing vehicles that have, say, two properties: number of axles, and color? Do you create a Vehicle class that subclasses NSObject and that has two properties numberOfAxles and color? Do you create a subclass of NSDictionary with two keys?

The former approach seems cleaner to me but when I look at code samples from Apple, (e.g. UICatalog), I see arrays of dictionaries everywhere to represent data sources. Seems odd to me. Is is just because NSDictionary offers a quick and dirty way of representing data objects, which is practical in the context of simple, self-contained examples?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

等数载,海棠开 2024-11-11 16:50:21

如果你想简单地表示一辆车辆(没有未来的扩展等,也没有任何功能),那么使用字典应该没问题。 (虽然,我会使用 Vehicle 类)

另外,苹果的示例仅显示 API/SDK 用法。在 99% 的情况下,他们的目的不是教授设计模式或 Objective-C 语言。

If you want to simply represent a vehicle (with no future extensions,etc and no functionality) then using a dictionary should be fine. (Although, I would use a Vehicle class)

Also, apple's examples are to show APIs/SDK usage only. In 99% of the cases they don't aim to teach design patterns or objective-c language.

想念有你 2024-11-11 16:50:21

这主要取决于您的喜好。如果您只是存储简单的数据结构,NSDictionary 就可以了。如果您想向数据结构添加逻辑,请使用类。

It mostly depends on what you prefer. If you're just storing simple data structures, an NSDictionary is fine. If you want to add logic to your data structures, use a class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文