在弹出页面中,我试图在 CoreData 中存储一些数据,并且我需要显示加载视图,直到该过程完成。
我找到了一种简单易用的方法,使用警报控制器显示加载标签。在函数中,我添加了一个shouldPresent
布尔值以在 coreData 过程完成时使其为 false 并隐藏警报。
private func presentLoadingView(shouldPresent: Bool) {
let alert = UIAlertController(title: nil, message: "Retrieving Owner Data", preferredStyle: .alert)
let loadingIndicator = UIActivityIndicatorView(frame: CGRect(x: 3, y: 5, width: 50, height: 50))
loadingIndicator.hidesWhenStopped = true
loadingIndicator.style = UIActivityIndicatorView.Style.medium
loadingIndicator.startAnimating()
alert.view.addSubview(loadingIndicator)
presentAnimated(alert)
if !shouldPresent {
alert.dismiss(animated: true)
}
}
问题是,当我使用
dismiss(animated: true)
整个弹出框将被解除,当我使用
alert.dismiss(animated: true)
什么都没有发生,谁能帮我解决这个问题。提前致谢。