[英]Cannot subscript a value of type anyobject
我目前已升級到新的Xcode 7,以下代碼在swift 1.2中從未出現任何錯誤,但是現在它告訴我:
無法下標任何對象類型的值
var imageArray : NSArray = []
let url = NSURL(string: (self.imageArray[indexPath.row][0] as? String)!)
我知道它的[0]
但是我該如何重寫它才能被接受?
OK,所以首先您要使用NSArray
。 您可以刪除它並簡化所有操作。
在Swift中,請盡可能使用強類型。 不需要時,請避免使用Any和AnyObject。 (非常需要它們)。
發生錯誤是因為您沒有告訴代碼imageArray
實際包含的imageArray
。
另外, imageArray
告訴我數組中充滿了圖像。 更描述性地命名變量。 imageUrlStringArray
或arrayOfImageUrlArrays
。 無論如何,更具描述性。
像這樣聲明imageArray
...
var imageArray = [[String]]()
這告訴編譯器imageArray
是2D數組,其中Strings
位於第二級。
現在,您可以輕松創建URL ...
guard
let urlString = imageArray[indexPath.row].first,
let url = NSURL(string: urlString)
else { // Handle the inability to create a URL }
// Do something with the url
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.