Objective-C + WKWebkit 无法识别的选择器
Objective-C + WKWebkit Unrecognized Selector
我对 Objective-C/iOS Dev 作为一个整体还很陌生,我对此一头雾水。我似乎无法让 WKWebkit 为我的生活工作。
经过广泛的 Google 搜索,我终于整理了一些可以编译的代码 - 但是应用程序崩溃了。
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
我也将 class 设置为 Storyboard 中自定义 class 下的 WebViewController。
这是我不断收到的错误消息:
[WebViewController superview]: unrecognized selector sent to instance 0x7fdbb570e050
知道我哪里做错了吗?我仍然太陌生,无法自己发现任何明显的错误。非常感谢!
错误说明您的 class WebViewController
没有方法 superview
。不幸的是,我在您发布的代码中看不到问题,并假设它在其他地方。尽管代码本身仍然很不稳定。
您可以使用 exception breakpoints,它会向您显示导致此问题的确切行并添加该信息。
一般来说,我可以假设您以某种方式使用 class 代替 UIView
。 UIViewController
不是 UIView
的子 class,因此它没有方法 superview
.
我对 Objective-C/iOS Dev 作为一个整体还很陌生,我对此一头雾水。我似乎无法让 WKWebkit 为我的生活工作。
经过广泛的 Google 搜索,我终于整理了一些可以编译的代码 - 但是应用程序崩溃了。
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
我也将 class 设置为 Storyboard 中自定义 class 下的 WebViewController。
这是我不断收到的错误消息:
[WebViewController superview]: unrecognized selector sent to instance 0x7fdbb570e050
知道我哪里做错了吗?我仍然太陌生,无法自己发现任何明显的错误。非常感谢!
错误说明您的 class WebViewController
没有方法 superview
。不幸的是,我在您发布的代码中看不到问题,并假设它在其他地方。尽管代码本身仍然很不稳定。
您可以使用 exception breakpoints,它会向您显示导致此问题的确切行并添加该信息。
一般来说,我可以假设您以某种方式使用 class 代替 UIView
。 UIViewController
不是 UIView
的子 class,因此它没有方法 superview
.