我有一個叫服務變量,就像這樣:遷移到斯威夫特3
var service: AnyObject = [] //Swift 2.3
我的問題是如何將這種遷移到斯威夫特3.我在iOS的一個小白,我看着在互聯網,但無法得到它。
PS。我得到一個錯誤「上下文類型'AnyObject'不能用於數組文字」
在此先感謝!
我有一個叫服務變量,就像這樣:遷移到斯威夫特3
var service: AnyObject = [] //Swift 2.3
我的問題是如何將這種遷移到斯威夫特3.我在iOS的一個小白,我看着在互聯網,但無法得到它。
PS。我得到一個錯誤「上下文類型'AnyObject'不能用於數組文字」
在此先感謝!
你在做什麼總是錯的。如果您在初始化時沒有價值,請使用可選項。理想情況下,您應該將其聲明爲獲取值時的實際值類型(而不是AnyObject等全能型)。但是,如果你不能做到這一點,那麼就使用Any?
:
var service : Any?
或者,如果這件事情的類型爲知 - 例如,如果你知道這將是一個詞典 - 那麼它聲明作爲一個字典,可能通過提供一個空的字典,例如:
var service = [AnyHashable:Any]()
var service = [AnyObject]()
將工作。
我覺得這種方式是一個數組,煤礦只是一個變量,但我需要的時候我宣佈它來初始化它,但這種方式不斯威夫特3 –
以下是在夫特-3使用它的一例
var service = [AnyObject]() //Swift 3
service = ["a" as AnyObject,"b" as AnyObject]
print(service)
輸出:
a,b
感謝的人工作了,但現在我得到了「輸入」任何?沒有下標成員「 –
所以你對另一個答覆者撒謊了。它是一個數組。你爲什麼不接受他的回答? – matt
因爲它不是一個數組,所以爲什麼 –