4

Xcode 8 (ベータ 1) と Swift 3 にアップグレードして以来、次の行にエラーがあります。

class CloudViewController: UIViewController, WCSessionDelegate {

それは言います:

タイプ「UIViewController」はプロトコル「WCSessionDelegate」に準拠していません

これは私の(Xcode 7とSwift 2が動作している)コードです:

override func viewDidLoad() {
    super.viewDidLoad()

    if(WCSession.isSupported()){
        self.session = WCSession.default()
        self.session.delegate = self
        self.session.activate()
    }
}

func session(_ session: WCSession, didReceiveMessage message: [String : AnyObject]) {

    print("didReceiveMessage")

    watchMessageHandler.getMessage(message)

}

このエラーは、WKInterfaceController クラスにも表示されます。

4

3 に答える 3

16

Swift 3 では、新しいプロトコルに従ってこのメソッドを実装する必要があります

セッション:activationDidCompleteWithState:エラー:

sessionDidBecomeInactive:

sessionDidDeactivate:

プロトコルでオプションとしてマークされなくなったためです。

于 2016-09-16T15:38:57.143 に答える
-1

このメソッドを CloudViewController に追加します

internal func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: NSError?){
}

このエラーは、WCSessionDelegate に必要なプロトコル メソッドを実装する必要があることを示唆しています

于 2016-07-29T05:45:00.207 に答える