У меня есть контроллер, и я хочу создать экземпляр WKWebView программным способом.По этой причине я добавляю контейнерное представление по раскадровке и по коду я хочу добавить в него WKWebView.Это код:
#import "testController.h"
#import <WebKit/WebKit.h>
@interface testController()
@property (strong, nonatomic) WKWebView *webView;
@property (strong, nonatomic) IBOutlet UIView *container;
@end
@implementation testController
- (void)viewDidLoad
{
[super viewDidLoad];
self.webView = [[WKWebView new] initWithFrame:self.container.frame];
self.webView.scrollView.showsVerticalScrollIndicator = NO;
self.webView.scrollView.showsHorizontalScrollIndicator = NO;
self.webView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
self.webView.frame = CGRectMake(0, 0, self.container.frame.size.width, self.container.frame.size.height);
[self.container addSubview:self.webView];
[self.webView loadHTMLString:@"testString "baseURL:nil];
}
@end
Этот код работает, но не всегда, и иногда он падает, и я получаю эту ошибку в журнале терминала:
-[__NSCFString _webView:renderingProgressDidChange:]: unrecognized selector sent to instance 0x604000838ce0
2018-05-25 16:04:26.001917+0200 AppTest iOS[4853:171971] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString _webView:renderingProgressDidChange:]: unrecognized selector sent to instance 0x604000838ce0'
*** First throw call stack:
Но я не могупонять почему.
РЕДАКТИРОВАТЬ 1: Этот контроллер находится внутри контроллера навигации, и я замечаю, что, если я вставляю контроллер навигации, я получаю эту ошибку (иногда), в то время как я удаляю ее из контроллера навигации, все работает нормально