Я знаю, что это очень простой вопрос, и я работаю над ним с 3-х часов, но не смог заставить его работать. Я пытаюсь реализовать UIAlertController, чтобы показать сообщение об ошибке, используя Apple documentation, но я получаю ошибку на этой строке, что ни один известный метод класса для селектора presentViewController [self presentViewController:alert animated:YES completion:nil];
Я искал и получил много решений, но никто не работает здесь. AlertMessageViewController - это мой пользовательский класс, который унаследован от UIViewController.Неизвестный метод класса для селектора presentViewController в UIAlertController
AlertMessageViewController.h
#import <UIKit/UIKit.h>
@interface AlertMessageViewController : UIViewController
+(instancetype)showAlert: (NSString *) title withMessage: (NSString*) message preferredStyle:(UIAlertControllerStyle)preferredStyle;
@end
AlertMessageViewController.m
#import "AlertMessageViewController.h"
#import <UIKit/UIKit.h>
@interface AlertMessageViewController()
@end
@implementation AlertMessageViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
+(instancetype)showAlert: (NSString *) title withMessage: (NSString*) message preferredStyle:(UIAlertControllerStyle)preferredStyle
{
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"title" message:@"alertMessage" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *ok =[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){NSLog(@"ok action");}];
[alert addAction:ok];
[self presentViewController:alert animated:YES completion:nil];
}
@end
Почему вы расширили свой AlertMessaveViewController с помощью UIViewController? и как вы используете этот класс и метод. Неудивительно, что вы получили сообщение об ошибке. – Samir
Причина UIAlertController унаследован от UIViewController. Я прокомментировал ответы uros19, что, как я это называю. –