2016-10-02 43 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完全符合协议要求的。一旦你解决了这个问题,你会发现编译器会接受你的协议一致性!

相关问题