我遇到了将UIWebView作为插座的问题。我做了我的研究,这是我采取的步骤。
使用XCode 5.0.1
使用XIB
已验证的文件所有者是WebViewController
将UIWebView添加到xib
将UIWebView委托设置为FileOwner WebViewController
修改了WebViewController.h,添加
将以下方法添加到WebViewController.m
(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
(void)webViewDidFinishLoad:(UIWebView *)webView
(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
(void)webViewDidStartLoad:(UIWebView *)webView
从UIWebView到myWebView创建一个插座(在.m文件中)
只要我按下WebViewController,就会在myWebView上出现NSUnknownKeyException。
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<WebViewController 0x19ff75a0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key myWebView.'
重要提示:如果我只是删除myWebView的插座,那么我可以推动WebViewController。当然,我无法修改UIWebView,但没有插座。
知道这里发生了什么吗?我在新的/空白项目中也遇到了同样的问题。
更新: - 所以WebViewController.xib FIleOwner自定义类是:WebViewController,在InterfaceBuilder中验证 - 在运行时创建就像这样
[[WebViewController alloc] initWithNibName:@"WebViewController" bundle:nil];
答案 0 :(得分:0)
来自错误消息,似乎xib中的UIWebView
已经连接到名为myWebView
的插座,但插座变量不在.m或.h中;尝试右键单击xib文件中的UIWebView
,然后删除已连接的插座。
如果那个技巧不起作用。尝试从xib手动删除myWebView
。这里的步骤:
Open As
,然后点击Source Code
myWebView
关键字找到(ctrl + f)答案 1 :(得分:0)
确保将WebViewController添加到目标。点击WebViewController.m检查目标成员资格。确保选中复选框。
答案 2 :(得分:0)
所以我发现这个后改变了文件的名称:
现在一切都很完美。我在问题中列出的步骤可以很好地创建UIWebView。