2014-11-04 55 views
3

我是iOS新手和Swift 在我的應用程序中,我試圖打印一個可選值並打印出「可選(變量的值) 「 我如何刪除這個詞可選可選變量的打印值包括Swift中的「可選」字樣

var bDay = StringUtils.convertDateToString(birthDate, format: Constants.BIRTHDAY_FORMAT) 
let age = self.clientDetail?.getAge() 
println("age.....\(age)") 
bDay += "\(age)" 

在控制檯輸出是

age.....Optional(29) 

我想這個變量分配給一個UILabel,但在屏幕上它顯示了像 1986年9月17日選購(29)

我的目標是消除這種可選的詞,使它看起來像 1986年9月17日(29)

在此先感謝

回答

8

可選這裏使用鏈接:

let age = self.clientDetail?.getAge() 

因此返回getAge()是可選值。儘量選購裝訂:

if let age = age { 
    println("age.....\(age)") 
} 

或簡單地拆開包裝的ageage!,但這會崩潰您的應用程序,如果age是零。

+0

不鼓勵使用強制展開運算符,而不先檢查nil。它會導致應用程序崩潰,如果「年齡」爲零 - 我建議更新您的答案,並明確提及該問題 – Antonio 2014-11-04 11:17:38

+0

@Antonio這取決於具體情況。如果他們在任何情況下都不鼓勵,那麼隱含的解開的選擇權甚至不可能在語言中。有時它很快就會崩潰。 – Kirsteins 2014-11-04 11:22:49

+0

@Kristeins更新後的答案適用於我:) – Abhilasha 2014-11-04 11:25:46