我有一個webView
覆蓋- hitTest:
的子類基本思想是,我想單擊webView傳遞到nextResponder如果點擊是在身體的DOM元素。該方法是這樣的異常崩潰與可可webView -elementAtPoint:(操作系統X)
- (NSView *)hitTest:(NSPoint)aPoint
{
NSDictionary *dict = [self elementAtPoint:aPoint];
if([[dict valueForKey:@"WebElementDOMNode"] isKindOfClass:[DOMHTMLBodyElement class]])
{
return (NSView *)[self nextResponder];
}
return [super hitTest:aPoint];
}
運行時,它與EXC_BAD_ACCESS code=2
崩潰的elementAtPoint
現在,它變得怪異。如果我在該行斷開應用程序,並在LLDB中執行po [self elementAtPoint:aPoint]
,則LLDB會掛起,直到我執行^ C。
還沒有。如果我註釋掉除最後一個回報以外的所有內容,請打開return語句,然後在LLDB中運行po [self elementAtPoint:aPoint]
-我得到了我期望的結果,一個很好的詞典告訴了我關於DOM的所有信息。
什麼可能導致此行爲?
注意:這是在OS X上,而不是在iOS上。