我要显示来自网络服务的数据。我正确获取数据,并且已在tableview
中显示。我正在cells
中存储正在显示/创建的mutable array
,以便下次不使用Web服务加载它们。第一次数据已正确存储在数组中,但存储在数组中的值会自动更改!!!
我确实检查了我插入单元格的代码部分,它只按照项目数量工作,即。如果我有来自服务的5个数据,它只存储5个值,它只能工作5次。那怎么改变?
答案 0 :(得分:0)
iOS仅创建与一次显示的单元格数量相同的单元格,然后在滚动屏幕后重复使用一次。当您滚动表格时,阵列中的单元格将被重用,Web服务中的新内容将替换来自Web服务的早期响应中的内容。
不是将单元格保存在数组中,而是从Web服务中保存数组或字典或其他适当集合中的内容,然后从集合中更新单元格。
答案 1 :(得分:0)
数据会自动更改,因为您正在存储可重复使用的单元格(如果它们不在屏幕上,则可能会在别处使用)。不要使用传递给方法cellForRowAtIndexPath:
的indexPath来存储单元格,存储数据对象并从数组或字典加载它们。