xml - 如何显示 xmlArray 中的图像?

标签 xml swift

enter image description here enter image description here我得到了这个函数,它是一个 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/

相关文章:

c# - NLog 自定义目标 XSD 警告

ios - 当移动到另一个 View Controller 时,数据总是出现并更新

xml - 使用 xmlstarlet 编辑 XML 中的值

ios - 带有自定义 UIToolbar xib 的 Storyboard 中的 UINavigationController 失败

swift - 如何将 UILabel 的文本保存在安全区域内?

ios - 尝试插入 10000 条记录 sqlite ios swift

arrays - 从自定义 tableViewCell 中的数组中删除项目

java - Android更改项目的列表布局

java - 如何将带有命名空间的 XML 字符串解码为 Java 对象

xml - 在Powershell中将ISO8601(我认为)转换为小时:分钟:秒