什么是Swift中的Optional(" nil")的含义?

时间:2015-11-05 04:21:28

标签: ios swift optional

这是我的代码。如果默认值没有保存lat,lng,那么给它一个lat lng。

问题是错误:

  

致命错误:在解包可选值时意外发现nil

在下面的代码之后使用self.latself.lng时。每次控制台打印出来都是

  

保存的gps是可选的(" nil")

Optional("nil")的含义是什么?与Optional(nil)的区别是什么?

我正在使用Xcode 7.1和Swift 2。

var lat : String = ""
var lng : String = ""

let defaults = NSUserDefaults.standardUserDefaults()
if  defaults.stringForKey("lat") != nil  {
    self.lat = defaults.stringForKey("lat")!
    self.lng = defaults.stringForKey("lng")!
    print ("the saved gps is \(defaults.stringForKey("lat"))")
} else {
    self.lat = "34.7009333"
    self.lng = "135.4942047"
    print ("the init gps is  \(self.lat) , \(self.lng)")
}

1 个答案:

答案 0 :(得分:0)

显示实际值...

let digit = sender.currentTitle!

假设您的发件人值为10,则输出为10.

假设您的发件人值为nil,然后 app carsh。

显示可选值

   let digit = sender.currentTitle

假设您的发件人值为10,则输出是可选的(" 10")。

假设您的发件人值为nil,那么应用程序不是carh。

&安培;显示值如此可选(" nil")