0
我正在做一個infoDictionary
主要NSBundle
屬性的字典查找。這工作正常:Swift編譯器錯誤使用字典查找和強制轉換
let infoDict = NSBundle.mainBundle().infoDictionary
var item = infoDict["CFBundleExecutable"]
if let stringValue = item as? String {
...
}
但是,我想鏈接在一起。然而,當我這樣做,我收到一個編譯器錯誤:
if let stringValue = NSBundle.mainBundle().infoDictionary["CFBundleExecutable"] as? String {
...
}
的錯誤是:
'String' is not a subtype of '(NSObject, AnyObject)'
我意識到這是那些神祕的斯威夫特編譯消息之一,這意味着什麼比更瑣碎它明確指出 - 但我無法確定我的兩個上面的代碼片段是如何不同的 - 爲什麼一個工作,一個不工作。
沒錯,果然。我一直忘記'String'是一個結構體。謝謝! – 2014-09-26 01:18:32