我有一个名为users
的结构实例,我通过闭包将JSON解析为该实例,但是我发现我的编辑根本没有保存。因此,当我超出关闭范围时,我将为零。有人知道如何在闭包中获取价值吗?
var users: [User]! = [User]()
override func viewDidLoad() {
super.viewDidLoad()
Alamofire.request(url2).responseJSON { response in
switch response.result {
case .success(let value):
guard let jsonArray = value as? [[String: Any]] else { return }
self.users = jsonArray.compactMap(User.init)
print(self.users!) // works
case .failure(let error):
print(error)
}
}
print(users!) // error because I had nil
}
答案 0 :(得分:1)
提出请求需要时间。为了避免整个应用程序冻结,即使尚未收到服务器的响应,该请求也会在后台发送,并且程序将继续执行。
一种解决方法是在数据加载后在回调中调用单独的函数。可能如下所示:
$result = mysqli_query($con,"SELECT * FROM dados");
echo "<table border='2'>
<tr>
<th>nome</th>
<th>Idade</th>
<th>Email</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['nome'] . "</td>";
echo "<td>" . $row['idade'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "</tr>";
}
echo "</table>";