我可以通过标签获得UICollectionViewCell吗?

时间:2016-03-10 21:44:22

标签: ios objective-c

我有一些NSNotifications正在进行,我想根据与它们相关联的标签更新我的单元格。

这可能吗?

详细说明我在UITableViewCell中有一个UILabel和一个UIProgressView,如果通知对象包含匹配的标记,我将要更新。

我正在后台同步数据,每次处理一大块数据时,我都会发送一个NSNotification。

我希望UICollectionView单元格能够反映最新状态。

为了实现这一点,我想通过标签获取UITableViewCell,然后使用新数据更新UILabel和UIProgressView。

2 个答案:

答案 0 :(得分:4)

  1. 不要按标记获取细胞,通过indexPath
  2. 获取细胞
  3. 不要通过indexPath
  4. 获取细胞
  5. 不要让他们
  6. (1)您可以按标记获取视图,但每次绘制视图标记以匹配其索引路径时,您都需要更新视图标记。所以(2)索引路径同样好。但是(3)它们也不好,因为直接调整单元格不是我们在MVC-land中这样做的方式

    这里正确的计划是更新您的模型(在MVC术语中,更具体地说是集合视图数据源数组)以反映世界中的更改,然后告诉您的集合视图它已过期(reloadData是大锤子,reloadItemsAtIndexPaths:是手术刀。)

    这意味着您的模型必须包含反映下载进度状态的数据(如浮点数),可用作进度条参数,并且您的cellForItem ...方法必须检查此值并修改单元格&#39 ;进展观点。

答案 1 :(得分:1)

你不能这样做,因为单元格每次都会重复使用。如果你包装标签,这不仅仅是重新加载单元格。如果你想这样做,你应该更新你的模型,然后重新加载更新的单元格。