我正在尝试解析 XML 文档并将数组加载到 TableView 中。
在 init 中,我调用initializeDatabase,它生成 URLRequest 和 Connection。然后我调用 parseXML,它解析该文档。这一切似乎运作良好。
完成后,我想将结果数组加载到 TableView 中。没有发生。
我在每个方法中放置了 NSLog 语句来跟踪这一点,包括 TableView 数据源方法。
2011-02-01 07:29:17.770 Project[1664:207] initializeDatabase:
2011-02-01 07:29:17.814 Project[1664:207] numberOfSections
2011-02-01 07:29:17.815 Project[1664:207] results in numberOfRowsInSection: (null)
2011-02-01 07:29:18.560 Project[1664:207] Connection was made
2011-02-01 07:29:18.562 Project[1664:207] connectionDidFinishLoading:
2011-02-01 07:29:18.562 Project[1664:207] parseXML called
2011-02-01 07:29:18.563 Project[1664:207] parserDidStartDocument
2011-02-01 07:29:18.564 Project[1664:207] parserDidEndDocument:
2011-02-01 07:29:18.564 Project[1664:207] results: "ProjectData: 0x4e461b0"
未调用 cellForRowAtIndexPath。我不知道为什么。
有什么想法吗?
库尔特
最佳答案
听起来您需要在解析数据后在 TableView 上运行 reloadData 方法。重新加载数据使 TableView 询问其数据源应显示多少行。 TableView 会在 viewDidLoad 上自动执行此操作,但在您的情况下,此时您没有任何数据可显示。因此在 parserDidEndDocument 中,运行 [tableView reloadData];
其他解决方案,确保委托(delegate)和数据源都设置为正确的实例。
关于objective-c - 数组未到达 cellForRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4864146/