Swift 神奇轉型 ( Xcode beta 3 )
在 Swift 中,當變數沒有指定型別, Swift 會自己抓一個適當的型別來用。
今天在 7 月的 CocoaHeads 聚會的時候看到 zonble 分享一個神奇(?)的指定型別。
指定型別錯誤(?)
這次主角是 array 和 dictionary 。在 Swift 中,沒有分 mutable 和 immutable ,都可以針對他們做修改。
但是在沒有手動指定型別之下,在某些情形下會指定成 NSArray
和 NSDictionary
:
Array
Dictionary
會爆掉
變成 NSArray
和 NSDictionary
之後這個 Swift 中的變數再也不是可以任意 mutable ,對他做加減就會報錯掛掉。
結論
這應該算是 bug 吧?
不過到這邊我還是覺得,型別該宣告就要養成習慣好好宣告,可以避免不可預期的結果。