2016-01-29 4 views
0

У меня есть ошибка в сценарии я пишу, ошибка:Xcode ошибки компиляции «Control достигает конец Непустой функции»

управление достигает конец Непустой функции

Это мой код:

-(BOOL) hasInternet { 
    Reachability *reach = [Reachability reachabilityWithHostName:@"www.google.co.uk"]; 
    NetworkStatus internetStats = [reach currentReachabilityStatus]; 

    if (internetStats == NotReachable){ 
     UIAlertView *alertOne = [[UIAlertView alloc] initWithTitle:@"Internet" message:@"is DOWN" delegate:self cancelButtonTitle:@"Turn on your Internet" otherButtonTitles:@"Cancel",nil]; 
     [alertOne show]; 
    } 
} 

Может кто-нибудь увидеть, где я пошло не так?

+1

Вы ничего не вернуть из функции, ожидающей возвращаемое значение - именно то, что ошибка компилятора говорит вам ... – Vladimir

ответ

1

Ваш метод предназначен для возврата булевского значения с использованием оператора return, например return YES;.

Поскольку вы не реализовали такую ​​вещь, метод не будет успешно скомпилирован. Если вы хотите вернуть BOOL, вы можете добавить оператор возврата. Если вы не хотите, чтобы вернуть BOOL просто изменить инициализацию метод:

-(void) hasInternet { 

     Reachability *reach = [Reachability reachabilityWithHostName:@"www.google.co.uk"]; 
     NetworkStatus internetStats = [reach currentReachabilityStatus]; 

     if (internetStats == NotReachable){ 
     UIAlertView *alertOne = [[UIAlertView alloc] initWithTitle:@"Internet" message:@"is DOWN" delegate:self cancelButtonTitle:@"Turn on your Internet" otherButtonTitles:@"Cancel",nil]; 
     [alertOne show]; 
     } 

    } 
+0

я быть педантичным , но это не значит, что метод «не сработает». Возвращаемое значение будет [просто неопределенным] (https://stackoverflow.com/questions/10079089/implicit-int-return-value-of-c-function) (хотя вы, скорее всего, вернете '0' неявно). –

+0

Да, но поскольку это синтаксическая ошибка, она даже не компилируется. – fredpi

+0

Привет всем, спасибо за вашу помощь, Исправлено: «return false» – DCJones