Ios 在UIWebView上加载url会导致“崩溃”;“无法识别的选择器”;例外
我在我的应用程序中构建了一个视图控制器,它的唯一元素是UIWebView。我正试图在加载uiwebview元素的视图控制器之后,使用以下代码加载该元素上的网页:Ios 在UIWebView上加载url会导致“崩溃”;“无法识别的选择器”;例外,ios,objective-c,uiwebview,Ios,Objective C,Uiwebview,我在我的应用程序中构建了一个视图控制器,它的唯一元素是UIWebView。我正试图在加载uiwebview元素的视图控制器之后,使用以下代码加载该元素上的网页: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NetworkHelper *networkHelper = [NetworkHelper getInstance];
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
NetworkHelper *networkHelper = [NetworkHelper getInstance];
NSString *tocsUrl = [NSString stringWithFormat:@"%@%@", networkHelper.clientConfiguration[@"hdv_production_uri"],
@"/tocs?device=iOS"];
NSURL *url = [NSURL URLWithString:tocsUrl];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:urlRequest];
}
字符串tocsUrl
是有效的http字符串(http://192.168.1.12:3000/tocs?device=iOS
)
但是,行[self.webView loadRequest:urlRequest]代码>正在使应用程序崩溃,出现以下异常:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView loadRequest:]: unrecognized selector sent to instance 0x170188fd0'
*** First throw call stack:
(0x186d86530 0x197d640e4 0x186d8d5f4 0x186d8a3ac 0x186c8ec4c 0x1000b5d18 0x18b594958 0x18b594668 0x18bc881d0 0x18b88f790 0x18b8aab50 0x18b8acf68 0x18b681c4c 0x18b5c8a14 0x18b5b1d08 0x18b5c83b0 0x18b587ec8 0x186d3ed98 0x186d3bd24 0x186d3c104 0x186c691f4 0x19008b6fc 0x18b5fa10c 0x1000e0ad8 0x1983e2a08)
libc++abi.dylib: terminating with uncaught exception of type NSException
self.webView
在.h文件中定义为:
@property (strong, nonatomic) IBOutlet UIWebView *webView;
任何关于如何解决此崩溃的建议都将不胜感激。请检查您的Web视图,您已将其分配给UIView
,而不是UIWebView
。您还可以删除并重新添加到UIWebView
和界面生成器的连接。您可以使用shift+option+右键单击
,确保在IB中选择了正确的控制器检查您的xib/情节提要中的webView
自定义类-它看起来像是UIView
而不是webView。同时检查插座是否连接到右视图。NBIBOutlet
s属性通常声明为weak
,因为所有ui元素都由它们的超级视图保留。请注意,在IB中更改自定义对象类并不总是正确的-请查看视图层次结构中表示webview的图标。它应该包含一个小的指南针图标。如果它看起来像一个常规视图,那么它仍然是一个常规视图,即使自定义类表示不同的内容。该元素在.h文件中定义为UIWebView元素。但是,我从IB中删除了它,并将其再次添加到.h文件中,这次它按预期工作。看起来应用程序的配置有问题。