我知道这是一个经常被问到的问题,可能是Stackoverflow整体上最受争议的问题。但是我现在一直在寻找答案,大约一周没有运气。
这就是我想要做的事情..
我有两个ViewControllers让我们称之为mainVC和settingsVC。
在我的settingsVC中,我有一个功能,用户可以将他们的小时工资放在一个文本字段中,然后使用UserDefaults进行保存。这是我想在mainVC中访问的数据。
然而,它们之间没有任何连接(它们没有被任何segue绑定,我不希望它们是这样),我不希望在保存数据时实例化mainVC。
此外,我不想使用全局变量。那么最好的方法是什么?
总而言之,我只想在mainVC中从settingsVC中检索数据,而不使用全局变量和segues。
答案 0 :(得分:0)
您应该使用实例变量,协议或通知在viewContoller之间传递数据。
答案 1 :(得分:-2)
为什么不从用户默认值中检索数据?这就是存储数据的地方,并且普遍可用。
答案 2 :(得分:-2)
您正在NSUserDefaults中保存数据。所以你没有机会担心保存和检索数据。
为了节省价值
NSString *valueIWantToSet = @"valueToSave"
[[NSUserDefaults standardUserDefaults] valueIWantToSet forKey:@"saveKey"];
[[NSUserDefaults standardUserDefaults] synchronize];
获取此值
NSString *savedValue = [[NSUserDefaults standardUserDefaults]
stringForKey:@"saveKey"];
如果未在NSUserDefaults中保存值,则必须使用Notification