UIActionSheetDelegate Предупреждение для контроллера представления - PullRequest
0 голосов
/ 28 марта 2011

Я установил всплывающее окно UIActionSheet всего с двумя кнопками и назначил действие одной из них.Приложение компилируется, запускается и работает правильно, но я получаю предупреждение:

warning: class 'MyViewController' does not implement the 'UIActionSheetDelegate' protocol

Вот мой код листа действий:

- (IBAction)saveImage {


    UIActionSheet *saveMenu = [[UIActionSheet alloc] initWithTitle:@"Save Image to Photo Library" 
                                                          delegate:self 
                                                 cancelButtonTitle:@"Dismiss" 
                                            destructiveButtonTitle:nil 
                                                 otherButtonTitles:@"Save Image", nil];

    [saveMenu showInView:self.view];
    [saveMenu release];

И действие, которое я подписал в «Сохранить изображение»кнопка:

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

if (buttonIndex == 0) {

    UIImage* imageToSave = [imageView image]; // alternatively, imageView.image

    //Save it to the camera roll / saved photo album
    UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil);

}

}

Должен ли я игнорировать это предупреждение о сборке?Или как я могу исправить предупреждение?

Ответы [ 2 ]

3 голосов
/ 28 марта 2011

Вам нужно добавить <UIActionSheetDelegate> непосредственно перед фигурной скобкой ({) в строке, которая начинается с @interface в заголовочном файле.Например:

@interface MyViewController : UIViewController <UIActionSheetDelegate> {

Это уничтожит предупреждение.

1 голос
/ 28 марта 2011

Ваша ошибка означает, что вы не реализовали протокол UIActionSheetDelegate.Для этого вам необходимо реализовать его в своем интерфейсе следующим образом:

@interface MyViewController : UIViewController <UIActionSheetDelegate> {
}

Протокол UIActionSheetDelegate не требует методов, поэтому ваше приложение не падает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...