创建一个可以在不同视图中更改某些内容的 UISwitch

Creating a UISwitch that can change something in a different view

我正在 Xcode 和 Objective-C 中创建一个设置视图,我希望它在打开 UISwitch 时更改按钮在单独视图中的位置。

更深入的计划是,如果设置视图中的开关处于打开状态,那么在下行的 2 个视图中,一个按钮会指向视图 1,但如果该开关处于关闭状态,则会指向视图 2。我读了一些关于 NSUserDefaults 的内容,但我不太确定它是否适用于此。

NSUserDefaults 可以作为一种方法。您可以将 UISwitch 的状态保存为

[[NSUserDefaults standardUserDefaults] setBool:switch.on forKey:@"switchState"];

然后点击按钮你可以检查这个值

BOOL on = [[NSUserDefaults standardUserDefaults] boolForKey:@"switchState"];

并决定它将导向哪个视图。

希望对您有所帮助!!!

请记住,通过使用 NSUserDefaults,这是一个持久值。 IE。即使您重新启动应用程序,此开关值仍将保存在 NSUserDefaults 中。如果这不是您想要的,只需将此值保存到管理器的内存中即可。

您可以创建类似 SettingsManager 的单例,并在您的应用程序启动时对其进行初始化,并添加布尔值 属性 以保存此状态。