ios - ReactiveCocoa 两个开关互异绑定怎么写?
PHP中文网
PHP中文网 2017-04-18 09:33:25
0
2
365

假设有两个 Siwtch 需要互异绑定,用 rac 该怎么写?

UISwitch *switch1;
UISwitch *switch2;

switch1.action = {
    switch2.on = !switch2.on;
}

switch2.action = {
    switch1.on = !switch1.on;
}
PHP中文网
PHP中文网

认证0级讲师

Antworte allen(2)
刘奇

这样?

switch1.on = YES;
switch2.on = NO;
RACChannelTerminal *t1 = switch1.rac_newOnChannel;
RACChannelTerminal *t2 = switch2.rac_newOnChannel;
[[t1 map:^id(NSNumber *on) {
    return @(![on boolValue]);
}] subscribe:t2];
[[t2 map:^id(NSNumber *on) {
    return @(![on boolValue]);
}] subscribe:t1];
Peter_Zhu

找到一种解决方案:

RACChannelTerminal *aButtonChannel = [aButton rac_newSelectedChannel];
RACChannelTerminal *bButtonChannel = [bButton rac_newSelectedChannel];
[[aButtonChannel not] subscribe:bButtonChannel];
[[bButtonChannel not] subscribe:aButtonChannel];
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!