我有两个视图A和B,以便从A到B我只是推动新视图,在视图B中我执行一些操作来更新导航栏的UIBarButton项目的badgeValue。 (比如将商品添加到购物车)
当我使用navigationBar Back按钮返回查看A时,UIBarButton项目显示上一个badgeValue,而不是更新的那个,我想这会发生,因为当您按下后退按钮时,视图B会弹出显示视图A,它保留原样没有任何改变,我需要一种方法告诉视图A在返回后更新自己。
如果不返回查看A我返回rootViewController更新了badgeValue,我想当我转到rootViewController时,将读取viewDidLoad中的代码并更新badgeValue。
有关如何更新刚刚弹出的另一个视图的任何想法?
编辑
@silicon_valley的答案是正确的,但它不适用于MikeMTOL的库,因为它有问题,对于Swift用户我会推荐这些扩展。 - > link
您可以添加代码以更新viewWillAppear
中的徽章值。这将确保每次视图返回到屏幕时(而不仅仅是第一次创建时)更新值。