有没有办法判断当前线程是否是Objective-C中的主线程?

我想做这样的事.

  - (void)someMethod
  {
    if (IS_THIS_MAIN_THREAD?) {
      NSLog(@"ok. this is main thread.");
    } else {
      NSLog(@"don't call this method from other thread!");
    }
  }

推荐答案

看看NSThread API documentation美元.

也有类似的方法

- (BOOL)isMainThread

+ (BOOL)isMainThread

还有+ (NSThread *)mainThread

Objective-c相关问答推荐

使用自动布局自定义纵横比

如何声明仅调试语句

NSArray 添加元素

使用 CALayer 时无法编译代码

有没有办法清除 UIImage 类使用的缓存?

使用对象引用的 NSArray,我是显式释放数组中的所有对象还是仅释放数组本身?

适用于 ios 的 360° 全景库

不区分大小写的核心数据 CONTAINS 或 BEGINS WITH 约束

如何在 iOS 中拨打电话?

实现 -hash / -isEqual: / -isEqualTo...: 用于 Objective-C 集合

如何保存我的 iPhone 应用程序的用户首选项?

如何在 iOS 上将图像旋转 90 度?

了解 performSegueWithIdentifier

WKWebView 判断 JavaScript 返回值

无法加载 xcode 项目,因为它已从另一个项目或工作区打开

UICollectionView 仅在用户双击时调用 didSelectItemAtIndexPath,当用户单击时不会调用

UIDatePicker 中的最小和最大日期

Objective-C 中的同步和异步调用与多线程有什么区别?

如何让 UITextView 检测网站、邮件和电话号码的链接

使用正则表达式查找/替换 NSString 中的子字符串