我的tableViewCell将用户带到详细信息viewController。详细信息viewController上有一个收藏夹按钮,允许用户将条目添加为收藏夹。当单击按钮时,我希望在条目的相应tableViewCell中放置一个心形。
我还没有弄清楚如何做到这一点。任何帮助表示赞赏!
答案 0 :(得分:1)
有两种解决方案可以实现您想要的,
使用代理人:
使用NSNotificationCenter(如上面给出的答案):
按我来说,如果您只想更新1类的信息,则代表将是一个很好的解决方案。
答案 1 :(得分:0)
这对于NSNotificationCenter很有用。
让单元监听“ didMakeFavorite”通知。按下“收藏夹”按钮时,让您的细节控制器发布通知。单元格视图和详细信息视图保持完全分离。并且如果还有其他需要了解该事件的对象,它们也可以将自己添加为观察者。
在通知的userInfo
中包含诸如项目ID之类的内容,以便该单元格可以检查此通知是针对其项目还是另一个单元格(在这种情况下,此单元格不应执行其他操作)。
答案 2 :(得分:0)
我已经通过更改列表viewModel / Model的对象完成了同样的事情,其他选项是通知和委托也可以工作。
// make change in backScreen's CategoryListing Page from where user come here and tapped on wishlist
if let categoryViewModel = CategoryManager.shared.categoryViewModel, let product = (categoryViewModel.products.filter { $0.id == self.product.id })[safe: 0]{
product.isWishListed.value = isWishListed
}