Tôi có chuỗi tùy chọn và muốn chuyển đổi thành gấp đôi.
này làm việc trong Swift 2, nhưng kể từ khi chuyển đổi sang Swift 3, tôi nhận được giá trị của 0.Chuyển đổi chuỗi tùy chọn thành gấp đôi trong Swift 3
var dLati = 0.0
dLati = (latitude as NSString).doubleValue
Tôi có kiểm tra và vĩ độ có một giá trị chuỗi tùy chọn của một cái gì đó giống như -80,234543218675654, nhưng giá trị dLati là 0
*************** ok, cập nhật mới cho rõ ràng *****************
Tôi có một bộ điều khiển xem mà tôi có một nút trong đó, và khi nút được chạm vào, nó sẽ gọi một bộ điều khiển xem khác và chuyển một vài giá trị cho nó đây là mã cho khung nhìn đầu tiên
var currentLatitude: String? = ""
var currentLongitude: String? = ""
var deviceName = ""
var address = ""
// somewhere in the code, currentLatitude and currentLongitude are get set
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "map" {
let destViewController : MapViewController = segue.destination as! MapViewController
print(currentLongitude!) // Print display: Optional(-80.192279355363768)
print(currentLatitude!) // Print display: Optional(25.55692663937162)
destViewController.longitude = currentLongitude!
destViewController.latitude = currentLatitude!
destViewController.deviceName = deviceName
destViewController.address = address
}
}
Đây là mã cho bộ điều khiển xem thứ hai gọi là MapViewController
var longitude: String? = " "
var latitude: String? = ""
.
.
override func viewDidLoad() {
if let lat = latitude {
print(lat) // Print display: optiona(25.55692663937162)
dLati = (lat as NSString).doubleValue
print(dLati) // Print display: 0.0
}
.
.
}
Cảm ơn Borna
gì 'latitude' đến từ đâu? Nó được tuyên bố như thế nào? Có đảm bảo luôn luôn có giá trị số không hợp lệ không? – rmaddy