Objective-C + WKWebkit无法识别的选择器

时间:2018-06-13 11:03:29

标签: ios objective-c xcode webview wkwebview

我对Objective-C / iOS Dev整体上都很陌生,而且我对此很陌生。我似乎无法让WKWebkit为我的生活而工作。

经过广泛的谷歌搜索后,我终于整理了一些编译的代码 - 应用程序崩溃了。

WebView.h

#import <UIKit/UIKit.h>
#import <Webkit/Webkit.h>
#import <objc/runtime.h>

@interface WebViewController: UIViewController <WKUIDelegate>;
@property (nonatomic, strong) WKWebView *webView
@end

WebView.m

@implementation WebViewController
-(void) viewDidLoad {
    [super viewDidLoad];
    if (NSClassFromString(@"WKWebView")) {
        _webView = [[WKWebView alloc] initWithFrame:[[self view] bounds]];
    } else {
        _webView = [[UIWebView alloc] initWithFrame:[[self view] bounds]];
    }
    NSString *urlString = @"http://www.google.com";
    NSURL *url = [NSURL URLWithString:urlString];
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
    [_webView loadRequest:urlRequest];
}
@end

我也在故事板中的自定义类下设置了WebViewController类。

以下是我不断收到的错误消息:

[WebViewController superview]: unrecognized selector sent to instance 0x7fdbb570e050

任何线索我做错了什么?我自己也不熟悉任何明显的错误。非常感谢你!

1 个答案:

答案 0 :(得分:0)

错误说明您的班级WebViewController没有方法superview。不幸的是,我无法在你发布的代码中看到这个问题并假设它在其他地方。虽然代码本身仍然非常不确定。

您可以使用exception breakpoints,它应该显示导致此行的确切行并添加该信息。

一般来说,我可以假设你以某种方式使用你的班级代替UIViewUIViewController不是UIView的子类,因此它没有方法superview