在json序列化方法下打印时包含数据(1(的变量,但在viewdidload中它显示零值(0(
var bank = Int()
func getProfile() {
.
.
.
.
let json = try JSONSerialization.jsonObject(with: data) as! [String: Any]
print("json (json)")
let status = json["Success"] as! Bool
if status {
//send profile update status 1
//After Alert Success
DispatchQueue.main.async {
if let banks = (json["bank"] as? NSString)?.intValue {
print("banks(banks)")
self.bank = Int(banks)
print("self.bank(self.bank)")
}
}
} else {
}
}
在视图下调用的变量显示 0(nil( 值
override func viewDidLoad() {
getProfile()
print("bank (bank)")
super.viewDidLoad()
// Do any additional setup after loading the view.
}
输出:银行 0
主要问题 变量未设置,因为 Web 服务在另一个线程中调用,并且变量甚至在 Web 服务加载之前就已打印。
尝试在某个按钮中再次调用它,您将看到结果将完美打印