Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 在awakeFromNib中使用setDrawsBackground时WebView崩溃_Cocoa_Webkit_Webview_Nsview - Fatal编程技术网

Cocoa 在awakeFromNib中使用setDrawsBackground时WebView崩溃

Cocoa 在awakeFromNib中使用setDrawsBackground时WebView崩溃,cocoa,webkit,webview,nsview,Cocoa,Webkit,Webview,Nsview,我有一个本地属性,它是NIB中WebView的IBOutlet。 对于一个用户来说,这是一个非常重要的用户,我可以说它崩溃了,但是 未找到具有相同崩溃的任何其他用户 我得到的线索是: Application Specific Information: abort() called *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSView setDrawsBackgro

我有一个本地属性,它是NIB中WebView的IBOutlet。 对于一个用户来说,这是一个非常重要的用户,我可以说它崩溃了,但是 未找到具有相同崩溃的任何其他用户

我得到的线索是:

Application Specific Information:
abort() called
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSView setDrawsBackground:]: unrecognized selector sent to instance 0x101849380'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x00007fff883097b4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x00007fff8859f0f3 objc_exception_throw + 45
    2   CoreFoundation                      0x00007fff88363110 +[NSObject(NSObject) doesNotRecognizeSelector:] + 0
    3   CoreFoundation                      0x00007fff882db91f ___forwarding___ + 751
    4   CoreFoundation                      0x00007fff882d7a68 _CF_forwarding_prep_0 + 232
    5   NZBVortex                           0x00000001000521d8 -[SearchResultViewController awakeFromNib] + 55
包含WebKit WebView的ViewController中的我的代码:

-(void)awakeFromNib {

    [self.descriptionView setDrawsBackground:NO];
    [[[self.descriptionView mainFrame] frameView] setAllowsScrolling:NO];
...
}
我再也不知道如何解决这个问题了,因为我无法在本地复制。 这只是我使用setDrawsBackground的一个视图


我应该等待WebViewDelegate方法被激发吗?

在加载窗口后设置它。如果您在webview更新时尝试更改它,可能会导致问题。

您知道他们使用的操作系统版本吗?文档中说只有OS X v10.4.11及更高版本支持Web视图上的
setDrawsBackground:
方法。

这太愚蠢了。在阅读webkit框架之后 它又起作用了。这似乎是Xcode版本之间的切换,但它刚刚中断。
这导致在webkit视图应该(默认)的位置加载了一个普通的nsview。

听起来是一个合理的解释。我重载了NSViewControllers'-(void)loadView,并在那里做了一些工作。现在等待反馈。到目前为止,谢谢。这个问题只有在解决方案实际发布时才有用,请点击此处。是的,这是一个寻求帮助的地方,但重点是记录解决方案,而不仅仅是解决我们的问题。。。。想把这变成专家的交流吗,哈哈?你能解释一下你提到的修复方法吗
我重载了NSViewControllers'-(void)loadView
“这不是alex gray的解决方案,我只是说我们已经过载了loadView。这不是这次事故的根本问题。由于Xcode中的一个bug,IB文件以某种方式被损坏,Xcode忘记了WebView是一个web视图,因此恢复到正常视图-这就是它崩溃的原因。他们使用的是10.6.6,我也使用它。但我认为ExitToShell正在做一些事情。谢谢你的回答。