2016-09-20 3 views
0

Я хочу знать, почему я не могу делегировать себя этой функции.Не могу самостоятельно делегировать UIlAertView

void foundJailbrokenDevice() 
{ 
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Jailbrokeb=n Device Detected" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
      [alertView show]; 
      [alertView release]; 
} 

- (void)alertView:(UIAlertView *) alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
if (buttonIndex == 0) 
{ 
    UIApplication *app = [UIApplication sharedApplication]; 
    [app performSelector:@selector(suspend)]; 
    [NSThread sleepForTimeInterval:2.0]; 
    exit(0); 
} 
} 

В сообщениях указывается использование незаявленного идентификатора «я». Я уже добавил UIAlertViewDelegate на мой .h-файл Надеюсь, что ребята могут мне помочь, так как я новичок в этом. Спасибо!

+2

Примечание: UIAlertView устарел и скоро будет удален. Используйте UIAlertController. –

+0

- это расширение UIAlertViewDelegate? О, и ваш код даже не ARC, вы поддерживаете ios 5? :) А если нет, то в ios 8 используйте UIAlertController, herr вы можете передать обработчик определенным действиям –

+0

ах, может быть, что ваша функция найденаJailbrokenDevice не имеет контекста класса. Это не типичный метод класса. Итак, почему вы не используете - (void) foundJailbrokenDevice {}? –

ответ

0

Я думаю, вы должны заменить функцию foundJailbrokenDevice к следующему методу класса:

-(void) foundJailbrokenDevice 
{ 
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Jailbrokeb=n Device Detected" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alertView show]; 
    [alertView release]; 
} 

И заменить использование foundJailbrokenDevice на [self foundJailbrokenDevice].

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