Objective-C
工作期间,可能需要在某些后台线程中获取protectedDataAvailable
状态。
- (BOOL) isProtected {
BOOL protectedDataAvailable = [[UIApplication sharedApplication] isProtectedDataAvailable];
return protectedDataAvailable;
}
当我访问[UIApplication sharedApplication]
时,我怀疑代码块应在主队列中运行。 我该怎么做?
我正在考虑将其更改为,
- (BOOL) isProtected {
BOOL protectedDataAvailable = NO;
dispatch_sync(dispatch_get_main_queue(), ^{
protectedDataAvailable = [[UIApplication sharedApplication] isProtectedDataAvailable];
});
return protectedDataAvailable;
}
问题1:代码是否应在主队列/ UI线程内运行?
问题2:如果是,我更改的代码能否解决问题?还是有更好的方法?
我问这个问题的原因是,即使我同时访问主队列]上的UIApplication
,当从main thread
调用该块时也会崩溃。我该如何解决这个问题?
在使用Objective-C时,我可能需要在某些后台线程中获取protectedDataAvailable状态。 -(BOOL)受保护{BOOL protectedDataAvailable = [[UIApplication ...
问题1:代码是否应在主队列/ UI线程内运行?