jon*_*kel 32 self member let subscript swift
我是编码的新手,并选择了一些开源项目来获得这个想法.
我收到错误:
对成员'下标'的模糊引用
在下面的代码中:
let pictures = ( selectedRestaurant["Pictures"] as! NSArray ) // Error
let picture = ( pictures[zoomedPhotoIndex] as! NSDictionary )
let pictureURL = picture["url"] as! String
let imageURL = NSURL(string: pictureURL)
let urlRequest = NSURLRequest(URL: imageURL!)
NSURLConnection.sendAsynchronousRequest(urlRequest, queue: NSOperationQueue.mainQueue()) {
response, data, error in
if error == nil && data != nil {
self.imageView.image = UIImage(data: data!)
self.imageView.contentMode = UIViewContentMode.ScaleAspectFit
}
}
Run Code Online (Sandbox Code Playgroud)
Sha*_*yag 25
只需明确指定什么类型pictures
:
所以代替:
let pictures = selectedRestaurant["Pictures"] as! NSArray
Run Code Online (Sandbox Code Playgroud)
写:
let pictures: NSArray = selectedRestaurant["Pictures"] as! NSArray
Run Code Online (Sandbox Code Playgroud)
Sco*_*ter 22
对我来说,答案是明确说明我要投射到的数组的类型:
if let foo = dictionary["bar"] as? [String]
Run Code Online (Sandbox Code Playgroud)
这意味着“Pictures”不是有效的下标。看起来您正在创建一个名为 的常量pictures
,并且尝试为其分配一个值selectedRestaraunt["Pictures"]
,然后尝试将其转换为NSArray
. 如果selectedrestaraunt
已经是一个数组,那么[]
后面括号中的内容selectedRestaraunt
应该是一个整数值,该值将引用数组中的索引selectedRestaraunt
。显然“Pictures”不是一个整数,它是一个字符串。
如果您尝试访问数组中的数组。这意味着这Pictures
是一个存储在selectedRestaraunt
数组中的数组,然后您可以使用selectedRestaraunt[index of Pictures array]
where[index of pictures array]
是一个整数来访问它,该整数等于该数组在数组Picutres
中驻留的索引号selectedRestaraunt
归档时间: |
|
查看次数: |
37755 次 |
最近记录: |