2012-02-12 2 views
1

Я изучаю Obj-C и пытаюсь создать свои первые приложения. Я хотел что-то сделать с помощью UISwitch. Ужасно У меня проблема с проверкой значения этого элемента.UISwitch control

Я получил такие действия:

@synthesize SwitchValue; 
[...] 
- (IBAction)ToggleEnabled{ 
if ([SwitchValue isOn]) { 
    NSLog(@"Switch ON"); 
    // [myImageView startAnimating]; 
} else { 
    NSLog(@"Switch OFF"); 
    // [myImageView stopAnimating]; 
} 

Проблема заключается в том, что в журналах отображаются только:

2012-02-12 13:50:56.764 App[2763:f803] Switch OFF 
2012-02-12 13:50:57.965 App[2763:f803] Switch OFF 
2012-02-12 13:50:58.848 App[2763:f803] Switch OFF 

По каждой установке переключателя. Я пробовал условно даже с «SwitchValue.on» или «SwitchValue.enabled», но не работал.

+0

Вы правильно подключили свое соединение и какое событие вы наблюдаете. значение изменено ??? –

+0

Так ToggleEnabled - это действие, которое происходит при переключении переключателя, правильно? Что произойдет, если вы выполните 'NSLog (@"% @ ", SwitchValue)' в начале 'ToggleEnabled'? – yuji

+0

@InderKumarRathore Hm. Думаю, я правильно связал его с UISwitch. http://cl.ly/1d0I3i003R1z1g3R1Y1Q –

ответ

4

Похоже, что ваш IBoutlet UISwitch *SwitchValue; не подключен к коммутатору xib-файла. Дважды проверьте это, и вы можете сделать это так:

- (IBAction)ToggleEnabled:(id)sender{ 
    UISwitch *sw = (UISwitch *)sender; 
    if ([sw isOn]) { 
     NSLog(@"Switch ON"); 

    } else { 
     NSLog(@"Switch OFF"); 
    } 
} 
+0

Ahh да, я не подключил IBOutlet к xib. Был подключен только IBAction. Благодаря :) –

Смежные вопросы