2014-11-20 57 views
0

我有一個方法,創建一個對象返回它照常。調試器顯示「一些」,而不是內存地址

func myFunction() -> MyObject?{ 
    var object = MyObject() 

調試它我可以看到,在這個函數結束時,這個對象有一個有效的內存地址。

return object 
} 

但是,當我收到它而不是顯示零或對象地址,我可以看到單詞「一些」。如果我將這個對象與nil比較,它不會被評估爲非零對象。

result = something.myFunction() 
if result != nil { 
    println("never reaches here") 
} 

這是怎麼回事?

debug answer

回答

1

你已經宣佈方法返回一個可選MyObject。在Swift中,可選項是作爲一個枚舉實現的,它有兩個可能的值:.None,通常以文字形式顯示,nil.Some,它將可選值保存爲關聯值。您在調試器中看到Some,因爲您的方法成功返回包含在可選項中的值。

您可以在Swift語言指南中使用read more about Optionals

相關問題