【问题标题】:How to display YouTube search API response in UI text view?如何在 UI 文本视图中显示 YouTube 搜索 API 响应?
【发布时间】:2018-03-16 11:54:39
【问题描述】:

我正在创建一个项目,当单击按钮时,我必须在 UI 文本视图中显示 YouTube 搜索 API 响应。现在我在控制台中得到响应。 1) 如何将其显示为 JSON 响应。 2) 如何在 UI 文本视图中显示。

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var resultTextView: UITextView!

    override func viewDidLoad() {
      super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
      super.didReceiveMemoryWarning()
    }

    @IBAction func goButton(_ sender: Any) {
        guard let url = URL(string: "https://www.youtube.com/watch?v=6Zf79Ns8_oY")else {
            return
        }

        let session = URLSession.shared
        let task = session.dataTask(with: url) {(data, response, error) in

            if let response = response {
                print(response)
            }

            if let jsondata = data {
                print(jsondata)
            }
        }
        task.resume()
    }
}

【问题讨论】:

  • 请添加您的回复文本

标签: ios json swift api youtube


【解决方案1】:

我认为您正在寻找:

使用 JSONSerialization 解析响应并将所需的值设置为 textview 文本。

    guard let url = URL(string: "https://www.youtube.com/watch?v=6Zf79Ns8_oY")else {
       return
    }

    let session = URLSession.shared
    let task = session.dataTask(with: url) {(data, response, error) in
         guard let data = data, error == nil else { return }

         do {
            let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as! [String:Any]
            let text = json["KEY"] as? String
            DispatchQueue.main.async{
               self.YOURTEXTVIEW.text = text
            }
         } catch let error as NSError {
            print(error)
         }
    }
    task.resume()

也许有帮助。

【讨论】:

  • 我在 self.YOURTEXTVIEW.text = text 行收到错误(无法将 [String] 的值分配给类型 String)。请帮我解决这个问题。谢谢!
猜你喜欢
  • 2016-05-15
  • 2013-01-26
  • 1970-01-01
  • 2018-05-15
  • 2023-02-06
  • 2015-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多