这个问题在这里已有答案:
我知道这是一个经常被问到的问题,可能是Stackoverflow整体上最受争议的问题 . 但是我现在一直在寻找答案,大约一周没有运气 .
这是我想要做的..
我有两个ViewControllers让我们称之为mainVC和settingsVC .
在我的settingsVC中,我有一个功能,用户可以将他们的小时工资放在一个文本字段中,然后使用UserDefaults进行保存 . 这是我想在mainVC中访问的数据 .
但是它们彼此之间没有任何连接(它们没有被任何segue绑定,我不希望它们是这样)并且我不希望在保存数据时实例化mainVC .
此外,我不想使用全局变量 . 那么最好的方法是什么?
总而言之,我只想在mainVC中从settingsVC中检索数据,而不使用全局变量和segues .
4 回答
您应该使用实例变量,协议或通知在viewContoller之间传递数据 .
在您的设置ViewController:
在你的主ViewController中,每当你去那里 . 在你的viewDidLoad中
UserDefaults不是每个视图控制器,而是整个应用程序 . 所以这将是最好的事情 .
为什么不从用户默认值中检索数据?这就是数据存储的地方,并且普遍可用 .
您正在NSUserDefaults中保存数据 . 所以你没有机会担心保存和检索数据 .
为了节省 Value
获得这个 Value
如果未在NSUserDefaults中保存值,则必须使用Notification