2015-03-17 4 views
1

Я получаю сообщение об ошибке, которая говорит: Use of undeclared identifier 'alert'Использование «оповещением» необъявленный идентификатор

NSAlert *alert = [NSAlert alertWithMessageText: @"Why ? " 
             defaultButton:@"OK" 
             ]; 

Может кто-нибудь сказать мне, почему я получаю эту ошибку?

Обновлено:

enter image description here

+1

Вы уверены, что это эта линия производит ошибку? Не вижу ничего плохого здесь –

+0

Я добавил скриншот. – Illep

+0

На iOS используйте 'UIAlertView' вместо' NSAlert', см. Также: http://stackoverflow.com/questions/5636790/where-is-nsalert-h-in-the-ios-sdk –

ответ

2

Я думаю, что вы имеете в виду

UIAlertView *alert 

Не

NSAlert *alert // "NSAlert" does not exist in the Cocoa API. 

Ваш ключ от компилятора является то, что он говорит, что тип NSAlert не определен. Если тип не определен, вы можете получить еще одну ошибку о том, что сама переменная не определена, поэтому она говорит, что alert не определено.

+0

Тем не менее, эти API были устаревшими в iOS 8, и вместо этого люди должны использовать UIAlertController. –

+0

Вы правы. Кстати, можете ли вы сказать мне цель использования NSAlert? – Illep

+0

Но 'NSAlert' не существует. – Almo

0

Для OS 8 & выше использование UIAlertController & для использования ниже UIAlertview.

if(SYSTEM_VERSION_LESS_THAN(@"8.0")) 
{ 
    alertView = [[UIAlertView alloc] initWithTitle:@"Warning" message:@"Please enter CVV2 code." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alertView show]; 
    txt_CVV2CodeResult.text = @""; 
} 
else 
{ 
    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Warning:" message:@"Please enter CVV2 code." preferredStyle:UIAlertControllerStyleAlert]; 
    UIAlertAction *OKAction = [UIAlertAction 
           actionWithTitle:NSLocalizedString(@"OK", @"OK action") 
             style:UIAlertActionStyleDefault 
             handler:^(UIAlertAction *action) 
             { 

             }]; 

    [alertController addAction:OKAction]; 

    [self presentViewController:alertController animated:YES completion:nil]; 
} 
+0

Ум ... наш вопрос спрашивает использует Objective-C, а не Swift. – Almo

+1

спасибо, я обновил ответ – poojathorat

+0

Конечно, в любое время. :) – Almo

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