我得到了这个函数,它是一个 xml 文件,我想将图像 url 保存在数组中并将其显示在 UIImageView
中,但如何做到呢?我这样做的方式不对吗?
func latestNews(){
Alamofire.request(.POST, "https://api.jocom.com.my/feed", parameters: ["req" : "news"])
.responseData { response in
print(response.request) // original URL request
print(response.result) // result of response serialization
let xmlLatestNews = SWXMLHash.parse(response.data!)
print(xmlLatestNews)
for elem in xmlLatestNews["rss"]["channel"]["item"]{
let latestNewsImg: UIImageView = UIImageView(frame: CGRectMake(0.0, 0.0, 100, self.latestNewsScrollView.frame.size.height))
latestNewsImg.backgroundColor = UIColor.redColor()
let thumbnailURL = NSURL(string: (elem["thumbnail"].element!.text!))
//self.xmlArray is a NSURL array (var xmlArray = [NSURL]())
self.xmlArray.append(thumbnailURL!)
self.latestNewsScrollView.addSubview(latestNewsImg)
}
print(self.xmlArray)
}
}
最佳答案
如果有很多从服务器返回的项目,我通常会创建一个模型对象来存储这些属性。在你的情况下,如果它只是 URL。我会将其存储为字符串数组。
var stringURLArray = [String]()
stringURLArray.append(elem["thumbnail"].element!.text)
然后检索字符串并显示图像
let stringURL = stringURLArray[indexPath.row] as? String
let url = NSURL(string: stringURL)
let data = NSData(contentsOfURL: url!)
cell.yourImage.image = UIImage(data: data!)
以分配给特定图像为例。
let imageView1 = UIImageView(frame: CGRectMake(0, 0, 200, 50))
let stringURL = stringURLArray[0] // you can choose which index you want
let url = NSURL(string: stringURL)
let data = NSData(contentsOfURL: url!)
imageView1.image = UIImage(data: data!)
self.view.addSubview(imageView1)
要创建循环并以编程方式添加图像:
var position: CGFloat = 0.0
for urlString in (stringURLArray).reverse() {
let imageView1 = UIImageView(frame: CGRectMake(0 + position, 0, 200, 50))
let url = NSURL(string: urlString) //
let data = NSData(contentsOfURL: url!)
imageView1.image = UIImage(data: data!)
self.view.addSubview(imageView1)
position += 200 // space out the width of each image
}
关于xml - 如何显示 xmlArray 中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38115188/