iOS 开发 UIActivityIndicatorView 子线程崩溃解决方案 - GCD 切换主线程
"iOS 开发 UIActivityIndicatorView 子线程崩溃解决方案 - GCD 切换主线程"\n\n主要原因是 UIActivityIndicatorView 只能在主线程中使用,如果在子线程中使用,会导致崩溃。\n\n解决办法是在子线程中使用 UIActivityIndicatorView 时,使用 GCD 将 UI 操作切回主线程。具体操作如下:\n\nswift\n\// 在子线程中执行耗时操作\nDispatchQueue.global().async {\n\t\// 开始显示 UIActivityIndicatorView\n\tDispatchQueue.main.async {\n\t\t\// 切回主线程,显示 UIActivityIndicatorView\n\t\tlet activityIndicator = UIActivityIndicatorView(style: .gray)\n\t\tactivityIndicator.center = self.view.center\n\t\tactivityIndicator.startAnimating()\n\t\tself.view.addSubview(activityIndicator)\n\t}\n\t\// 执行耗时操作\n\t\n\tDispatchQueue.main.async {\n\t\t\// 切回主线程,结束显示 UIActivityIndicatorView\n\t\tactivityIndicator.stopAnimating()\n\t\tactivityIndicator.removeFromSuperview()\n\t}\n}\n\n\n这样在子线程中使用 UIActivityIndicatorView 时就不会崩溃了。
原文地址: https://www.cveoy.top/t/topic/p2BF 著作权归作者所有。请勿转载和采集!