我已将json图像url存储在一个数组中,但在调用url时显示错误
模型类
<A>
<A Number="1234" Date="05-25-2007">
<B>
<B1>Judith Miller</B1>
<Tax N="Yes" Rate="21"/>
</B>
<C>
<C1 x="xxxxx" Price="20"/>
<C1 x="yyyyy" Price="15"/>
</C>
</A>
<A Number="1235" Date="05-26-2007">
<B>
<B1>Herbert Marshall</B1>
<Adress Street="Saint Marc 2250" City="Oslo"/>
<Tax N="Yes" Rate="21"/>
</B>
<C>
<C1 x="yyyy" Price="25"/>
<C1 x="zzzz" Price="12"/>
<C1 x="xxxx" Price="22"/>
</C>
</A>
<A Number="1236" Date="05-26-2007">
<B>
<Nazwa>Judith Miller</Nazwa>
<Adress Street="Kennedy 511" City="Florida"/>
<Tax N="Yes" Rate="21"/>
</B>
<C>
<C1 x="fffff" Price="15"/>
</C>
</A>
<A Number="1237" Date="05-25-2007">
<B>
<B1>Harrison Faber</B1>
<Adress Street="Street 326" City="London"/>
<Tax N="No" Rate="0"/>
</B>
<C>
<C1 x="xxx" Price="20"/>
<C1 x="yyy" Price="9"/>
</C>
</A>
</A>
TableView控制器存储变量
import Foundation
class ProductDetails {
var productAuthor: String!
var productPrice: Int!
var artImages: [ArtImage]!
}
class ArtImage {
var imagepath: String!
var imgvideotype: Int!
}
解析功能
var globalArr = [ProductDetails]()
Tableview DataSource
func parseJSONData(data: NSData) -> [ProductDetails] {
var product_Detail = [ProductDetails]()
do {
let jsonResult = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary
let jsonProductDetails = jsonResult?["data"] as! [AnyObject]
//print("the json response is",jsonProductDetails)
for jsonproductDetail in jsonProductDetails{
let productDetail = ProductDetails()
// let jsonProductImageDetails = jsonProductDetails["images"] as! [AnyObject]
productDetail.productAuthor = jsonproductDetail["first_name"]as! String
productDetail.productPrice = jsonproductDetail["prodprice"]as! Int
// Getting inside the json
let jsonProductImageDetails = jsonproductDetail["images"] as! [AnyObject]
var artImagesModelArray = [ArtImage]()
for image in jsonProductImageDetails {
let artImage = ArtImage();
artImage.imagepath = image["imagepath"] as! String
artImage.imgvideotype = image["imgvideotype"] as! Int
artImagesModelArray.append(artImage)
}
productDetail.artImages = artImagesModelArray;
product_Detail.append(productDetail)
}
}
catch {
print (error)
}
return product_Detail
}
这里我已经存储了解析json并在tableview单元格中显示了一些细节,这里一切正常。 但调用异步方式从数组加载图像显示错误
任何建议..plz .. 谢谢
答案 0 :(得分:0)
您需要更改从ProductDetails获取图片网址的方式。 我想你需要使用这样的东西:
if let url = NSURL(string: self.globalArr[indexPath.row].artImages[imageIndex].imagepath) { // your code }
因为当你执行
if let url = (NSURL(string: self.globalArr[indexPath.row]))
你得到了ProductDetails的对象,但没有图片网址。