【问题标题】:What is the best way to implement a datasource in Objective-C在 Objective-C 中实现数据源的最佳方法是什么
【发布时间】:2013-11-26 22:54:23
【问题描述】:

基本上,我想要一个数据结构,当我获得有关用户的更多信息时,我可以增长和缩小。我想要一个用户名及其关联数据的平面关联列表,例如:

` usersDictionary = {
      user_id : {
          id : "0123456789",
          full_name : "Spongebob Jones",
          more_data: {
              likes: "snails"
          }
      },
      next_user_id : {}
  }`

Obj-C 相对较新...我已经添加了一个数据源,我正在使用 @interface NSMutableDictionary 并构建附加其他 NSMuteablesDictionaries 的用户数据。一切似乎都很好,但是当我试图获取数据时,我得到了:

* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[NSDictionary objectForKey:]:仅为抽象类定义的方法。定义 -[UsersCollection objectForKey:]!

我读到不建议直接实现 NSMuteableDictionary,因为它是一个集群类(?)。

我正在寻找一些关于我是否以正确的方式进行此操作的建议,如果不是,请指出!

【问题讨论】:

  • 你不应该有一个 @interface 来命名(作为接口名称而不是超类)一个 iOS 类。
  • 上述结构可以实现为一个常规类(或一组类)或一组嵌套字典。

标签: objective-c ios7


【解决方案1】:

我认为您的意思是您将 NSMutableDictionary 子类化,而不是尝试重新定义它。

probably don't want to do this(如果您有兴趣,请滚动查看我的答案以获取详细信息)。这几乎总是比价值多——简单地创建一个具有 NSDictionary 的类通常是更好的方法。

【讨论】:

  • 您关于集群类的链接答案对于为什么我当前的实现被破坏非常有意义。我将按照您的建议实施,并使用嵌套字典。干杯。
猜你喜欢
  • 1970-01-01
  • 2011-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-18
相关资源
最近更新 更多