Fatal error: swift 2.3 when unwrapping value

Fatal error: swift 2.3 when unwrapping value

我正在尝试使用 WCsession 方法将保存的字符串发送到 Apple Watch。但是当我这样做时,我在 swift 2.3 中遇到错误:致命错误:在展开可选值时意外发现 nil !

func Reloadip() {


    let ip =  nsdefauts.object(forKey: saved)


    let requestValues = ["send" : "A" , "IP" : ip as! String ]
    print(requestValues)

    if(WCSession.isSupported()){
        session!.sendMessage(requestValues, replyHandler: nil, errorHandler: nil)
        print("sended ip")
    }

}

错误发生在 "ip as! String line" 我该如何解决这个问题。 ?

问候奎因

您应该改用更安全的代码

func Reloadip() {

    guard let ip = nsdefauts.objectForKey(saved) as? String else {
        print("there is no saved ip")
        return
    }

    let requestValues = ["send" : "A" , "IP" : ip]
    print(requestValues)

    if(WCSession.isSupported()){
        session?.sendMessage(requestValues, replyHandler: nil, errorHandler: nil)
        print("sended ip")
    }  
}