簡體   English   中英

無法下標anyobject類型的值

[英]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告訴我數組中充滿了圖像。 更描述性地命名變量。 imageUrlStringArrayarrayOfImageUrlArrays 無論如何,更具描述性。

像這樣聲明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.

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