我的应用程序包含带有 5 个视图控制器的 TabBar 控制器。可以单击每个视图控制器中的按钮,这将弹出另一个视图,用户可以在其中选择设置。该按钮(被单击)应该根据每个视图控制器中的选择设置更改其背景。因此,如果用户单击 VC1 中的按钮并选择设置,则此信息应传播到所有其他 VC,以便按钮具有相同的背景。
我正在使用情节提要,并且我知道这很容易在 2VC 之间使用 segue、协议、闭包......我找不到将信息传播到超过 2VC 的正确方法。
我能想到的唯一解决方案是使用 UserDefaults。我将保存有关按钮设置的信息,然后在每个 VC 中调用 ViewWillAppear,其中将根据 UserDefaults 中的值设置按钮的背景。请问有更好的解决方案吗?
编辑:
正如评论中提到的@cora,我能够使用通知中心解决这个问题。