我正在开发iOS应用程序,我需要用户能够通过决策树选择某个报告的主题(使用UITableView
推进可用选项)。
我正在尝试找到一种订购所有可用选项的好方法,对于某些层,大约有5层和10多个项目。
任何人都可以建议使用某种变量类型吗?
我已经考虑使用NSMutableArray
并用指向其他数组的指针填充它,但我想我最终会得到一大堆指针,其中最后实际上只有NSStrings
返回(如果这有意义的话)。
答案 0 :(得分:1)
我的建议是使用钳子让你的生活更轻松。可以轻松地将plists读入NSDictionary
和NSArray
个对象;如果需要,您还可以轻松地将NSArray
和NSDictionary
保留在plists中。如果plist内容是支持NSCoding
协议的类型(对于示例数据来说似乎是这种情况),则会出现这种情况。
您的主要优势在于您可以使用Xcode plist编辑器创建plist文件(这只是一个XML文件),然后将其读入内存并以Obj-C对象的形式访问其内容,而无需担心自己创建所有NSArrays
来保存指针。
我已经考虑过使用NSMutableArray并使用指向其他数组的指针填充它,但我想我最终会得到一大堆指针,最后只返回实际返回的NSStrings(如果这样做的话)义)...
这是正确的,这是你可以去的方式。您可以手动构建阵列,或使用plist编辑器,如上所述。
否则,您可以寻找一些易于表示决策树的专用数据结构实现。还要看一下CHDataStructures,它是Obj-C中的数据结构集合。