iOS 开发 UIActivityIndicatorView 在子线程崩溃 oc代码
在 iOS 开发中,UIActivityIndicatorView 是 UI 控件,需要在主线程中进行操作。如果在子线程中操作 UIActivityIndicatorView,会导致崩溃。
解决方法是在子线程中使用 GCD(Grand Central Dispatch)将 UI 操作切换到主线程中执行。以下是一个示例代码:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// 在子线程中进行耗时操作
dispatch_async(dispatch_get_main_queue(), ^{
// 在主线程中更新 UI
UIActivityIndicatorView *activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[activityIndicatorView startAnimating];
[self.view addSubview:activityIndicatorView];
// 在主线程中进行其他 UI 操作
[activityIndicatorView stopAnimating];
[activityIndicatorView removeFromSuperview];
});
});
在上述代码中,使用 dispatch_async 将耗时操作放在子线程中执行,然后使用 dispatch_async 将 UI 操作切换到主线程中执行。这样能够避免在子线程中操作 UIActivityIndicatorView 导致的崩溃问题
原文地址: https://www.cveoy.top/t/topic/ikAX 著作权归作者所有。请勿转载和采集!