小编And*_*loy的帖子

将UISwitch的状态绑定到具有ReactiveCocoa的模型

我试图使用ReactiveCocoa将UISwitch的on状态绑定到我的模型中的布尔属性.我开始时:

RACChannelTo(self.switch, on, @NO) = RACChannelTo(self.model, toggle, @NO);
Run Code Online (Sandbox Code Playgroud)

这就是我将其他视图绑定到模型的其他部分的方式,遗憾的是它似乎没有为UISwitch做任何事情.模型的状态不会影响开关,反之亦然.

所以我尝试过:

RACChannelTo(self.model, toggle, @NO) = [self.switch rac_newOnChannel];
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常,但我必须事先手动设置开关的状态.所以,现在我有:

self.switch.on = self.model.toggle;
RACChannelTo(self.model, toggle, @NO) = [self.switch rac_newOnChannel];
Run Code Online (Sandbox Code Playgroud)

同样,这可行,但与使用ReactiveCocoa和其他控件相比,它似乎非常不优雅.

有没有更好的方法来做到这一点?

iphone uikit ios reactive-cocoa

5
推荐指数
1
解决办法
2515
查看次数

标签 统计

ios ×1

iphone ×1

reactive-cocoa ×1

uikit ×1