你好,任何人都可以通过教程,指南或示例代码向我指出正确的方向,谢谢,萨米。
答案 0 :(得分:2)
shreyasva给出的答案很接近但有点误导。
首先,将XML解析为易于管理的Cocoa数据结构是完全正确的。出于性能原因,您不应将表的数据源直接绑定到XML。 yan.kun的建议肯定是可能的,但如果你有“不止一点”的数据,你很可能会遇到性能问题。我强烈建议只将数据解析为NSD阵列对象的NSArray以获取更长的数据集。
其次,如果您不打算以其他方式保留XML文档或者只有少量对象,则Core Data有点矫枉过正。远射过度杀伤力。如果没有充分的理由将应用程序中的每个数据结构窃听到Core Data中也没有必要(通常也不合理)。 NSDictionary实例可以很好地缓存解析后的数据以供表视图使用。
第三,没有-tableView:cellForRowAtIndexPath:方法。这似乎让NSTableView与UITableView混淆。由于您指定了Mac标记,请查看NSTableViewDataSource协议。 Cocoa Bindings不是“优于”或“替代”数据源协议。这是“替代”。您可以将解析后的数据加载到NSArrayController(一个字典数组,例如每个“记录”一个),并将表列绑定到它(每个列绑定到数组控制器的arrangeObjects中的字典中的键)或只需使用(简单)表格数据源协议,从文档中复制/粘贴两分钟即可启动并运行。
答案 1 :(得分:0)
我会给你一个关于架构的想法。
NSXMLParser
解析XML都没问题。tableView:cellForRowAtIndexPath:
答案 2 :(得分:0)
或者,如果您只想列出内容而无需编辑功能,则可以将XML加载到NSXMLDocument中并通过xPath绑定TableView。