2013-10-11 6 views
-4

У меня есть функция, которая проверяет, включен ли UISwitch в параметре, если он есть, тогда он вернет true. У меня есть инструкция if, которая проверяет, возвращает ли функция true, если она действительно истинна, она должна nslog, но это не так. Любые идеи о том, почему, когда я нажимаю переключатель, он не запускается? Вот что я делаю:Почему функция не возвращает true?

-(BOOL)switched:(UISwitch *)currentSwitch{ 
    return NO; 
    if([currentSwitch isOn]){ 
     return YES; 
    } 
} 

viewWillDisappear{ 
    if([self switched:campSwitch] == YES){ 
     NSLog(@"THE FUNCTION RETURNED TRUE"); 
    } 
} 
+6

UHH двигаться возвращение NO заявление ниже условной? –

+2

[Не сравнивать с 'YES'] (http://blog.bignerdranch.com/564-bools-sharp-corners/) – Sebastian

+0

@PatrickGoley: Это была проблема. Извините, это был первый метод BOOL, который я когда-либо делал. Я думал, что это пробегает весь блок. –

ответ

4

Изменить код на следующее:

-(BOOL)switched:(UISwitch *)currentSwitch{ 
    return [currentSwitch isOn]; 
} 
+3

Функция возврата свойства? В то время как технически правильный для его вопроса, отступая назад, я думаю, что ответ заключается в том, что функция вообще не полезна. – Joel

+0

@Joel: Я собираюсь использовать эту функцию для нескольких коммутаторов. Очевидно, если бы я не был, не было бы смысла даже создавать его. –

+0

@Josue каждый переключатель имеет это свойство. Тот факт, что вам нужно получить доступ к этому свойству для нескольких коммутаторов, не означает, что вам нужна функция для этого. Это по-прежнему бессмысленно. – Joel

0
-(BOOL)switched:(UISwitch *)currentSwitch{ 
    return [currentSwitch isOn]; 
} 

-(void)viewWillDisappear:(BOOL)animated{ 
    if([self switched:mySwitch]){ 
     [self saveToCoreData]; 
     NSLog(@"mySwitch was on."); 
    } 
} 
+0

Зачем вы называете эту функцию одной строкой? Просто поставьте if ([mySwitch isOn]) {} – Joel

+0

@Joel: потому что я собираюсь использовать эту функцию для нескольких коммутаторов, я просто тестировал ее, чтобы убедиться, что она работает правильно. –

+0

Это не меняет точку моего комментария. Вы вызываете функцию для возврата свойства. Это бессмысленно. – Joel

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