【发布时间】:2011-09-18 19:26:27
【问题描述】:
这不是“请帮助我调试我的代码”消息。我实际上有它的工作,但想更深入地了解 它是如何工作的!
我有一个基于视图的 xCode 应用程序。在我的主视图中,我有一个 UITableView 并且我已将委托和数据源设置为文件的所有者。
在主 ViewController 的 .h 文件中,在 @interface 部分中,我声明了一个 NSMutableArray,它将包含自定义对象的列表。
在@interface 声明中,我包含了协议 UITableViewDelegate 和 UITableViewDataSource。
稍后,在点击几个按钮后,我的代码会解析来自服务器的 XML 文件并将对象插入到 NSMutableArray 中。我在 cellForRowAtIndexPath 函数中添加了代码,该函数被调用,当我为我的 UITableView 调用 reloadData 方法时,表格中填充了从我的 XML 解析的结果!
很酷,但我想了解这是如何发生的;更好的理解对我将来会有用。
我从来没有明确地将我的 NSMutableArray 绑定到那个 UITableView。为什么将对象添加到数组时会调用 cellForRowAtIndexPath?它是如何连接的?是因为 NSMutableArray 是在具有我上面提到的协议的 @interface 块中声明的吗?如果我的 .XIB 上有两个 UITableView,代码如何知道哪个 NSMutableArray 应该映射到哪个 UITableView? (或者这是我应该努力避免的事情?)即使我只有 XIB 上的 UITableView,如果我有两个 NSMutableArrays,我是否必须担心它们以某种方式纠缠我的 UITableView?
谢谢!
【问题讨论】:
标签: xcode uitableview nsmutablearray datasource