【发布时间】:2015-12-24 17:02:27
【问题描述】:
我在它下面有一个segmentedControl 和一个tableView。
SegmentedControl 有两个部分:“新闻”和“事件”。
新闻和事件下载到var news = [News]()func getJson(type: Int)。
新闻-news.type = 1,活动news.type = 2。
我的getJson方法是:
func getJson(type: Int) {
self.news = [] // empty news array
if jsonData["type"] == type {
// save needed news to array
self.news.append(News(id: jid, title: jtitle, subtitle: jsubtitle, urlstring: jurlstring, image: jimage!))
}
}
所以问题是当我迅速滚动并点击第二段时,应用程序崩溃:
因为在getJson 中的self.news = [] 和self.news.append 之间,这里是cellForRowAtIndexPath。
我的问题是当我点击片段时如何停止cellForRowAtIndexPath?谢谢。
【问题讨论】:
-
numberOfRowsInSection返回什么?当您切换段并开始加载数据时,您是否调用reloadData? -
我返回
news.count。我确实打电话。问题是tableView不断填充单元格,但getjson确实self.news = [] -
通常您会将数据加载到临时数组中,然后在加载后将数据复制到
self.news,然后调用reloadData -
是的,它解决了问题,谢谢。你可以发布答案,我会接受的
-
还有一种方法,当我选择片段时停止滚动
标签: ios swift uitableview uisegmentedcontrol