从共享类获取JSON响应数据到ViewController可以通过以下步骤实现:
以下是一个示例代码,演示了如何从共享类获取JSON响应数据到ViewController:
// 共享类
class NetworkManager {
func fetchData(completion: @escaping (Result<[String: Any], Error>) -> Void) {
// 发送网络请求并获取JSON响应数据
// 这里使用NSURLSession作为示例
let url = URL(string: "https://api.example.com/data")!
let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
if let error = error {
completion(.failure(error))
return
}
// 解析JSON数据
do {
if let data = data,
let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
completion(.success(json))
}
} catch {
completion(.failure(error))
}
}
task.resume()
}
}
// ViewController
class ViewController: UIViewController {
let networkManager = NetworkManager()
override func viewDidLoad() {
super.viewDidLoad()
// 从共享类获取JSON响应数据
networkManager.fetchData { result in
switch result {
case .success(let json):
// 在这里处理JSON响应数据
DispatchQueue.main.async {
// 更新UI界面
// ...
}
case .failure(let error):
// 处理错误
print("Error: \(error)")
}
}
}
}
在这个示例中,共享类NetworkManager
负责发送网络请求并解析JSON响应数据。在ViewController中,我们实例化了NetworkManager
对象,并调用fetchData
方法来获取JSON响应数据。在获取到数据后,我们可以在闭包中进行进一步的处理,例如更新UI界面。
请注意,这只是一个简单的示例,实际情况中可能需要根据具体需求进行更复杂的处理。另外,示例中使用的是NSURLSession来发送网络请求和JSONSerialization来解析JSON数据,你可以根据自己的需求选择适合的网络请求库和JSON解析库。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云对象存储(COS)。
领取专属 10元无门槛券
手把手带您无忧上云