Swift 2 中的不可变值

Immutable value in Swift 2

我有一个项目,其中这段代码没有给我带来问题,但在 Xcode 7.0 beta 6 中它跳过了警告,我找不到修复它的方法

 func session(session: WCSession, didReceiveMessage message: [String : AnyObject], replyHandler: ([String : AnyObject]) -> Void) {
    print("Mensaje recibido:\(message)")

    if let msg = message as? String{ //Error here
        // do something with the uname
    }

    replyHandler(["reply" : "OK"])
}

正如 Beardsley 先生所说,指令 if let msg = message as? String 将不起作用,因为您正试图将字典 message 转换为可选字符串。 这应该可以完成工作:

func session(session: WCSession, didReceiveMessage message: [String : AnyObject], replyHandler: ([String : AnyObject]) -> Void) {
print("Mensaje recibido:\(message)")

if let msg = message["/* Whatever key you want to select */"] as? String {
    // do something with the uname
}

replyHandler(["reply" : "OK"])

}

将 'Whatever key you want to select' 部分替换为与您要分配给 msg 的值配对的密钥。