-1

保存した文字列を 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」で発生します。これを修正するにはどうすればよいですか。?

よろしくクイン

4

1 に答える 1

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")
    }  
}
于 2016-06-17T07:28:18.203 に答える