我正在尝试通过向服务器发出请求来获取员工数据,获取数据后我将使用它来更新 UI。实际上我从服务器取回了数据,但我不知道为什么我收到错误消息
The Network Connection Was Lost
当我尝试将结果分配给一个值时出现该错误消息。这是发出请求时的代码,基本上就是alamofire。
// send request to the server to get employee data
let loginEndPoint = EndPoint.login(loginUser: username!, password: password!, registrationID: registrationID!)
NetworkingService.fetchJSONData(endPoint: loginEndPoint, completion: { (result) in
print("a")
switch result {
case .failure(let error) :
self.activityIndicator.stopAnimating()
self.showAlert(alertTitle: "Sorry", alertMessage: error.localizedDescription, actionTitle: "Back")
case .success(let jsonFromServer) :
let json = jsonFromServer as! JSON
let validity = json["valid"].intValue
if validity == 0 {
print("c")
guard let messageFromServer = json["message"].string else {return}
self.activityIndicator.stopAnimating()
self.showAlert(alertTitle: "Sorry", alertMessage: messageFromServer, actionTitle: "Back")
} else {
print("b")
guard let employeeDataFromServer = json["data"].dictionaryObject else {return}
self.dataOfEmployee = Employee(dictionary: employeeDataFromServer)
print(self.dataOfEmployee) <--- the problem is in here
self.activityIndicator.stopAnimating()
}
}
})
调试区打印了“a”和“b”,说明网络连接没有问题。事实上,当我 print(employeeDataFromServer)
时,来自服务器的数据可用。
但是当我通过首先创建 Employee 对象将结果分配给属性 dataOfEmployee
时。然后当我 print(self.dataOfEmployee)
时。我收到错误“网络连接丢失”。
我真的不明白为什么会这样。这里出了什么问题???
这是我用来制作对象的员工结构
struct Employee {
var name : String
var NIK : Int
var department : String
var level : String
var imagePath : String?
var company : String
var superior : Int
init (dictionary: [String:Any]) {
print("x")
name = dictionary["NamaKaryawan"] as! String
NIK = dictionary["NIK"] as! Int
department = dictionary["Departmen"] as! String
level = dictionary["Level"] as! String
superior = dictionary["Superior"] as! Int
company = dictionary["Company"] as! String
imagePath = dictionary["Url"] as? String
print("z")
}
}
我认为创建员工对象时没有问题,因为打印了“x”和“z”。
最佳答案
这很奇怪,我认为它们没有关系。尝试在打印 dataOfEmployee
的地方放置一个断点,然后查看变量窗口。您可以右键单击它并打印描述吗?
关于ios - 如何快速解决警告 "The Network Connection Was Lost"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48634317/