致命错误:展开值时swift 2.3

时间:2016-06-17 07:22:45

标签: swift wcsession

我正在尝试使用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”我该如何解决这个问题。 ?

对Quinn的看法

1 个答案:

答案 0 :(得分:2)

您应该使用更安全的代码

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")
    }  
}