![]() |
1
3
您应该只设置一次数据源,而不应该是NSarray。从中提取记录的数据容器可以更改,但数据源应始终相同。在大多数情况下,数据源应该只是视图控制器。然后视图控制器应该在 UITableViewDataSource protocol 包括:
NSarray不响应这些方法中的任何一个,这就是为什么您收到无法识别的选择器消息的原因。你必须自己实现它们。 你应该熟悉 Table View Programming Guide 了解如何有效地使用表视图。 最好的问候。 更新:这里有一些代码可以帮助您。在rootviewcontroller中,用-viewdidload中的alloc/init实例化nsarray。称之为项目:
然后像这样实现表视图的数据源委托:
然后需要实现cellForRowatindexPath:
此代码假定NSarray中的对象是NSDictionary。如果正在使用某个自定义对象,请将该索引路径处的对象强制转换为自定义类型,然后使用它的字段。 当有新数据可用并且需要重新加载表视图时,只需重新分配项nsarray,然后在表视图上调用reload data。假设您有这样的重新加载:
这将导致表视图查询其视图控制器,以获取要显示的行数以及通过访问NSARRAY的计数和内容而再次提供的每行的单元格。 Hth. |
![]() |
2
0
我猜您的数据是在getdata方法中异步加载的(如果您不是,您应该是),它在用户界面最不期望的时候更新/使对数据源的引用无效,当用户界面试图用指向其数据的过时指针呈现数据时,会导致崩溃。 只需确保从不从其他线程修改TableControllersData的内容。 或者你想使用coredata,在这种情况下,我不知道。 |
![]() |
WkWk · Apple Watch动作通知不起作用 2 年前 |
![]() |
Otavio Miguel · 在手机中保留我自己未发布的ios应用 3 年前 |
![]() |
Nico Passaglia · 移动键盘向上移动站点 6 年前 |