【问题标题】:how to load image From Rest Api Into View did Load Method Using Swift 3如何使用 Swift 3 将图像从 Rest Api 加载到视图中加载方法
【发布时间】:2018-07-19 13:21:50
【问题描述】:

我想在不使用 Tableview 或 collectionView 的情况下在 View 中加载图像,我有 Wordpress Rest Api 的 URL,我尝试使用 SwiftyJson 加载图像,我得到了所有图像的行值但图像无法加载我发现致命错误:索引超出范围,请帮助我

override func viewDidLoad() {
            super.viewDidLoad()


        let url = NSURL(string: "  ")

        let session = URLSession(configuration: URLSessionConfiguration.default)

        let task = session.dataTask(with: URLRequest(url: url! as URL)) {(data,response , error) -> Void in

            if (error == nil)
            {

                let swiftyJSON = JSON(data!)
                let entrylevel = swiftyJSON["guid"].arrayValue

                print("\(String(describing: entrylevel))")
                let imagearray = entrylevel[0]["rendered"].string!

                let imageurl = NSURL(string:imagearray)

                if let imagedata = NSData(contentsOf: imageurl! as URL)

                {
                    self.img.image = UIImage(data: imagedata as Data)
                    print("image load")

                }       

            }        

        }
        task.resume()
    }

这是我的rest api

[{"id":1509 "日期":"2018-02-15T13:33:22", "date_gmt":"2018-02-15T13:33:22" "guid": { "渲染":"http://thenewschef.com/wp-content/uploads/2018/02/startup.jpeg" }

【问题讨论】:

  • 这个 "let entrylevel = swiftyJSON["guid"].arrayValue" 值没有数组,但整个响应都在数组中。你到底想做什么?
  • 是否要将整个响应 ["guid"] 值放入数组中?
  • 我想要为图像视图呈现响应
  • 你检查过你的整个数据是数组还是字典格式?
  • 根不是 guid 它是一个数组

标签: ios swift3 swifty-json viewdidload image-loading


【解决方案1】:

guid 是字典而不是数组试试

let entrylevel = swiftyJSON[0]["guid"]["rendered"].string 

也把它包起来

DispatchQueue.main.async {

   self.img.image = UIImage(data: imagedata as Data)

}   

最好使用Data 而不是NSData

//

struct Root:Decodable {

  let  guid:InnerItem
}

struct InnerItem:Decodable {

   let rendered:String
}

try {
   let items = try JSONDecoder().decode([Root].self, from: data!)

}
catch {

print(error)
}

【讨论】:

    猜你喜欢
    • 2021-05-14
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 2021-08-17
    • 1970-01-01
    相关资源
    最近更新 更多