簡體   English   中英

Swift 3類型轉換錯誤

[英]Swift 3 type casting error

我的代碼在Swift 2.2中運行良好

let arrayNib = Bundle.main.loadNibNamed("VehicleDetailsTableViewCell", owner: nil, options: nil) as! NSArray

在迅速的3.0代碼給我錯誤

無法轉換[Any]的值? 強制輸入NSArray

嘗試這個

let arrayNib = Bundle.main.loadNibNamed("VehicleDetailsTableViewCell", owner: nil, options: nil)! as [Any]
print (arrayNib)

我可以像這樣使用

let arrayNib = Bundle.main.loadNibNamed("VehicleDetailsTableViewCell", owner: nil, options: nil)

它給了我[Any?]數組。

錯誤非常明顯。

您正在嘗試將Optional<T>轉換為U

雖然T可強制轉換為U ,但Optional<T> 不是

如果需要,可以將Optional<T>Optional<U> 就像您的情況一樣[Any]? NSArray?

但是我強烈建議您使用Swift數組並添加一些實型。

看來,Swift中有一種新的數組類型正在新的API中使用; 這是一個操場說的話:

在此處輸入圖片說明

我猜想接下來的問題是使用NSArray是否必不可少。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM