iOS开发 UIActivityIndicatorView 在子线程崩溃 oc代码
在iOS开发中,UIActivityIndicatorView是属于UIKit框架的控件,因此所有与UI控件相关的操作都必须在主线程中执行。如果在子线程中对UIActivityIndicatorView进行操作,会导致应用崩溃。
要解决这个问题,可以使用GCD(Grand Central Dispatch)将对UIActivityIndicatorView的操作切换到主线程中执行。下面是一个示例代码:
dispatch_async(dispatch_get_main_queue(), ^{
// 在主线程中执行UIActivityIndicatorView相关操作
[activityIndicatorView startAnimating];
});
在上述示例代码中,dispatch_async函数用于将UIActivityIndicatorView相关操作切换到主线程中执行。这样做可以避免在子线程中操作UI控件导致的崩溃问题。
另外,还可以使用performSelectorOnMainThread方法将对UIActivityIndicatorView的操作切换到主线程中执行。示例代码如下:
[self performSelectorOnMainThread:@selector(startAnimatingActivityIndicator) withObject:nil waitUntilDone:NO];
- (void)startAnimatingActivityIndicator {
[activityIndicatorView startAnimating];
}
在上述示例代码中,performSelectorOnMainThread方法用于将startAnimatingActivityIndicator方法切换到主线程中执行。这样做同样可以避免在子线程中操作UI控件导致的崩溃问题
原文地址: http://www.cveoy.top/t/topic/ikvj 著作权归作者所有。请勿转载和采集!