Question

How can I bind UISwitch.on with the value for a key in NSUserDefaults?

Was it helpful?

Solution

You can bind them (two-way binding) by following:

RACChannelTerminal *switchTerminal = self.someSwitch.rac_newOnChannel;
RACChannelTerminal *defaultsTerminal = [[NSUserDefaults standardUserDefaults] rac_channelTerminalForKey:@"someBoolKey"];

[switchTerminal subscribe:defaultsTerminal];
[defaultsTerminal subscribe:switchTerminal];

The switch's on state starts with the value from the user defaults or NO.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top