【发布时间】:2020-06-17 14:00:35
【问题描述】:
我不知道如何将数据从可解码模型传递或实现到视图控制器。而且我在我的视图控制器中期待状态 200 或消息“成功”。所以我可以把它放在我的 UIButton 中,向用户显示服务器已连接。
我不久前尝试了 debugPrint(response),API 工作正常。
我的模特
struct ServerStatus: Decodable {
let status: Int?
let service: String?
let function: String?
let msg: String?
enum CodingKeys: String, CodingKey {
case status = "status"
case service = "service"
case function = "function"
case msg = "msg"
}
}
我使用 Alamofire 5.0 的 API 调用
class APIManager {
static let sharedInstance = APIManager()
let headers: HTTPHeaders = [
.authorization(APIDefinitions.api_id)
]
func fetchServerStatus(parameters: Parameters, completion:@escaping (_ data: ServerStatus?, _ error: String?) -> Void){
AF.request(APIDefinitions.getServerStatus, method: .get, headers: headers).responseDecodable(of: ServerStatus.self) { (response) in
print(response)
switch response.result{
case .success(let serverStatus):
completion(serverStatus, nil)
break
case .failure( _):
completion(nil, "The Internet connection appears to be offline.")
break
}
}
}
}
【问题讨论】:
-
您的 ViewCotroller 代码在哪里?
-
只有 touchUpInside IBAction func onlineModePressed(_ sender: Any) { } 和 IBOutlet weak var connect: UIButton!