gpt4 book ai didi

xcode - 如何在 Cocoa 中创建大型决策树

转载 作者:行者123 更新时间:2023-12-03 17:59:24 25 4
gpt4 key购买 nike

我正在开发一个 iOS 应用程序,我需要用户能够通过决策树选择某个报告的主题(使用 UITableView 通过可用选项前进)。我正在尝试找到一种对所有可用选项进行排序的好方法,大约有 5 层,其中一些层有 10 多个项目。

  • 橱柜
    • 木制
      • 黑色
        • Shiny
        • 不 Shiny
          • 等等
    • 棕色
      • 等等
    • 白色
      • 等等
  • 钢铁
    • 等等
  • Fabric
    • 等等

任何人都可以建议某种变量类型来执行此操作吗?我考虑过使用 NSMutableArray 并用指向其他数组等的指针填充它,但我想我最终会得到一大堆指针,而只有最后才真正有 返回 NSStrings(如果有意义的话)。

最佳答案

我的建议是使用 plists 让你的生活更轻松。 Plist 可以轻松读入 NSDictionary 和 NSArray 对象;如果需要,您还可以轻松地将 NSArrayNSDictionary 持久保存到 plist 中。如果 plist 内容是支持 NSCoding 协议(protocol)的类型(您的示例数据似乎就是这种情况),则这是正确的。

您的情况的主要优点是您可以使用 Xcode plist 编辑器创建 plist 文件(这只是一个 XML 文件),然后将其读入内存并作为 Obj-C 对象访问其内容,而不必担心自己创建所有 NSArrays 来保存指针。

I've thought about using a NSMutableArray and populating it with pointers to other arrays etc, but I figured I'd end up with a whole bunch of pointers where only in the end there are actually NSStrings returned (if that makes any sense)...

这是正确的,这是你可以走的路。您可以手动构建数组,或者使用 plist 编辑器,正如我上面提到的。

否则,您可以寻找一些适合表示决策树的专用数据结构实现。另请查看CHDataStructures ,这是 Obj-C 中数据结构的集合。

关于xcode - 如何在 Cocoa 中创建大型决策树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8943076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com