无法下标anyobject类型的值

时间:2015-09-23 15:15:02

标签: ios xcode swift2

我目前已升级到新的Xcode 7,以下代码从未在swift 1.2中出现任何错误,但现在它告诉我:

  

无法下标任何对象类型的值

var imageArray : NSArray = []
let url = NSURL(string: (self.imageArray[indexPath.row][0] as? String)!)

我知道它关于[0]但是我如何重写它以被接受?

1 个答案:

答案 0 :(得分:3)

好的,首先你使用的是NSArray。你可以放弃它,让一切变得更容易。

在Swift中,尽可能使用强类型。在不需要时避免使用Any和AnyObject。 (他们非常需要)。

错误正在发生,因为您没有告诉代码imageArray中的实际内容。

此外,imageArray告诉我阵列中充满了图像。更具描述性地命名变量。 imageUrlStringArrayarrayOfImageUrlArrays。无论如何,还是更具描述性的东西。

声明imageArray赞......

var imageArray = [[String]]()

这告诉编译器imageArray是第二级Strings的二维数组。

现在您可以轻松创建您的网址了......

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