在 Swift 中将 Int 解包为 String
Unwrapping a Int to String cast in Swift
我正在从我的 plist 中收集一个 NSNumber
,我想在 String
中打印它:
let tijd = String(self.sortedHighscores[indexPath.row]["Tijd"]!)
cell.detailTextLabel?.text = "\(tijd) seconden"
但在模拟器中我看到打印:例如 Optional(120) seconden
。
我该如何解决这个问题?我试过解包 tijd
,但这会导致编译器出错,告诉我删除 !
.
试试这个:
var highscore : NSNumber = self.sortedHighscores[indexPath.row]["Tijd"] as! NSNumber
var a : String = String(format:"%d",highscore.integerValue)
cell.detailTextLabel.text = a
tijd
是可选的,你需要打开它,但你也应该检查它是否有值。
if let foo = tijd {
cell.detailTextLabel?.text = "\(foo) seconden"
}
如果您知道它总是有一个值,"\(tijd!) seconden"
应该也可以。
我正在从我的 plist 中收集一个 NSNumber
,我想在 String
中打印它:
let tijd = String(self.sortedHighscores[indexPath.row]["Tijd"]!)
cell.detailTextLabel?.text = "\(tijd) seconden"
但在模拟器中我看到打印:例如 Optional(120) seconden
。
我该如何解决这个问题?我试过解包 tijd
,但这会导致编译器出错,告诉我删除 !
.
试试这个:
var highscore : NSNumber = self.sortedHighscores[indexPath.row]["Tijd"] as! NSNumber
var a : String = String(format:"%d",highscore.integerValue)
cell.detailTextLabel.text = a
tijd
是可选的,你需要打开它,但你也应该检查它是否有值。
if let foo = tijd {
cell.detailTextLabel?.text = "\(foo) seconden"
}
如果您知道它总是有一个值,"\(tijd!) seconden"
应该也可以。