3

(스위프트, iOS8의, Xcode6, 아이폰/아이 패드) 은 발사되지 않으며,

webViewDidFinishLoad

가 호출되지 않는 작업이라고 소성하지 webViewDidFinishLoad 및 작동하지 않습니다.

예, 포함 된보기 컨트롤러를 위임자로 설정했습니다. UIWebView에서 CTRL-mousedowned, 뷰 컨트롤러를 나타내는 작은 노란색 원으로 끌고 릴리스되었습니다. UIWebView 개체를 마우스 오른쪽 단추로 클릭하면 대리인이 설정 되었음이 표시됩니다.

class Paragraph: UIViewController, UIWebViewDelegate { 

예, 나는 시뮬레이터와 실제 아이폰 4S 모두에서 엑스 코드를 다시 시작하고 테스트 않았다

예, 그래서처럼, 내 클래스 선언에 UIWebViewDelegate을 구현했다.

요청은 다음과 같습니다

@IBOutlet var paragraph : UIWebView = nil 

var r = NSBundle.mainBundle().pathForResource("cheddar", ofType: "htm") 
var u = NSURL(fileURLWithPath: r) 
paragraph.loadRequest(NSURLRequest(URL: u)) 

콜백 기능은 다음과 같습니다

func webViewDidFinishLoad() { 
    println("webViewDidFinishLoad") 
} 
+0

'메소드는 수퍼 클래스의 어떤 메소드도 오버라이드하지 않습니다. ' – kmiklas

+2

어리석은 질문이지만'paragraph.loadRequest (...)'호출 전에'paragraph.delegate = self'가 있습니까? – Jiaaro

+0

(UIWebView 대리자를 스토리 보드의 포함 된보기 컨트롤러에 연결 한 경우 왜 필요한지 알 수는 없지만) 'webViewDidFinishLoad'는 여전히 호출되지 않습니다. – kmiklas

답변

4

내가 그것을 얻었다. 콜백에 매개 변수가 없습니다. 후세의 경우 :

func webViewDidFinishLoad(webView: UIWebView!) { 

참고 어쩌면 더 중요한이 경우 webView: UIWebView! 매개 변수

, 나는 버그를 발견하는 방법입니다. 나는 완전히 새로운 View Controller를 만들고 그것을 다시 결합하여, 각 단계에서주의 깊게 점검하여 내가 놓친 부분이 없는지 확인했습니다.

Intellisense 팝업에 매개 변수가있는 기능이 표시되면 오류가 발생했습니다.

참고 : Swift 2.2에서 UIWebViewDelegate 프로토콜은 다른 옵션 인 webView: UIWebView을 지정합니다. webView: UIWebView!은 경고를 나타냅니다.