为啥即使实现了所有必需的方法,Class 也不会确认协议“WCSessionDelegate”错误
Posted
技术标签:
【中文标题】为啥即使实现了所有必需的方法,Class 也不会确认协议“WCSessionDelegate”错误【英文标题】:Why Class doesn't confirm to protocol 'WCSessionDelegate' error showing even when all required methods are implemented为什么即使实现了所有必需的方法,Class 也不会确认协议“WCSessionDelegate”错误 【发布时间】:2016-10-02 13:56:31 【问题描述】:这里不是我使用的部分代码:
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。
【问题讨论】:
我使用的协议方法名有错误。 activationDidCompleteWith 最后缺少文本状态。正确的方法是:activationDidCompleteWithState 【参考方案1】:看起来您实现的“激活完成”委托回调与协议要求的回调并不完全匹配。一旦你解决了这个问题,你应该会发现编译器会接受你的协议一致性!
【讨论】:
以上是关于为啥即使实现了所有必需的方法,Class 也不会确认协议“WCSessionDelegate”错误的主要内容,如果未能解决你的问题,请参考以下文章
即使构建设置具有调试信息格式 = 带有 dSYM 的 Dwarf,Xcode 也不会生成所有必需的 dSYM
即使我有 session_start(); 我的会话变量也不会传递到我的其他页面;在所有 3 页的开头。为啥是这样?
为啥即使我设置了 DataTypeReplacement = 'CBuiltIn',MATLAB Coder 也不会生成 C 内置类型?