【发布时间】:2015-03-30 04:27:11
【问题描述】:
我在我的应用程序中构建了一个视图控制器,其唯一元素是 UIWebView。我正在尝试在其视图控制器加载后立即使用以下代码在此 uiwebview 元素上加载网页:
- (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;
任何有关如何解决此崩溃的指示都将受到高度赞赏。
【问题讨论】:
-
在您的 xib/storyboard 中检查
webView的自定义类 - 看起来它是UIView而不是 web 视图。还要检查插座是否连接到正确的视图。注意IBOutlets 属性通常声明为weak,因为所有 ui 元素都由它们的父视图保留。请注意,在 IB 中更改对象的自定义类并不总是正常工作 - 查看代表视图层次结构中的 webview 的图标。它应该包含一个小指南针图标。如果它看起来像一个常规视图,它仍然是一个常规视图,即使自定义类说的不同。
标签: ios objective-c uiwebview