recherche

Maison  >  Questions et réponses  >  le corps du texte

ios - ReactiveCocoa 两个开关互异绑定怎么写?

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

UISwitch *switch1;
UISwitch *switch2;

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

switch2.action = {
    switch1.on = !switch1.on;
}
PHP中文网PHP中文网2766 Il y a quelques jours389

répondre à tous(2)je répondrai

  • 怪我咯

    怪我咯2017-04-18 09:35:25

    Est-ce vrai ?

    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];

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:35:25

    Trouvé une solution :

    RACChannelTerminal *aButtonChannel = [aButton rac_newSelectedChannel];
    RACChannelTerminal *bButtonChannel = [bButton rac_newSelectedChannel];
    [[aButtonChannel not] subscribe:bButtonChannel];
    [[bButtonChannel not] subscribe:aButtonChannel];

    répondre
    0
  • Annulerrépondre