2016-10-02 28 views
1

Here't,我已經使用的部分代碼:爲什麼類沒有確認到協議「WCSessionDelegate」錯誤顯示即使所有必需的方法來實現

class RealTimeVC : UIViewController, WCSessionDelegate{ 
    var session : WCSession! 
    override func viewWillAppear(animated: Bool) 
    { 
     if (WCSession.isSupported()) 
     { 
      session = WCSession.defaultSession() 
      session.delegate = self 
      session.activateSession() 

     } 
    } 

    //WCSessionProtocol 

    func session(session: WCSession, 
       activationDidCompleteWith activationState: WCSessionActivationState, 
       error: NSError?){ 
     print("Print Something") 
    } 

    func sessionDidBecomeInactive(session: WCSession){ 
     print("Print Something") 
    } 

    func sessionDidDeactivate(session: WCSession){ 
     print("Print Something") 
    } 

} 

如果該類未實現WCSessionDelegate協議,則沒有編譯器錯誤。我使用的是Xcode 8 Beta,Swift 3和部署目標是iOS10和WatchOS 3.

+0

我使用的協議方法名稱存在錯誤。 activationDidCompleteWith最後缺少文本狀態。正確的方法是:activationDidCompleteWithState –

回答

1

它看起來像您已經實現的「激活完成」委託回調doesn' t完全符合協議要求的。一旦你解決了這個問題,你會發現編譯器會接受你的協議一致性!

相關問題