iOS - 在哪个线程 ios 选择器运行

标签 ios swift multithreading uibutton selector

例如,当我们使用以下代码在 UIButton 或 View 上添加目标时,

cancelButton.addTarget(self, action: #selector(MyViewController.onCancelPressed), for: UIControlEvents.touchUpInside)

onCancelPressed 代码在哪个线程中运行?我假设它们在主线程上运行,但是否始终确保它们永远不会从其他线程运行?另一方面,我是否应该将 ui 内容放在 onCancelPressed 的主 block 中。

最佳答案

对选择器的调用在主线程上运行,因为 UIButton 是在主线程上创建的。函数调用也源自主线程,即使您从辅助线程添加目标选择器也是如此。 因此,无需在选择器函数中添加主 block 。

关于iOS - 在哪个线程 ios 选择器运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41583374/

相关文章:

iphone - xib 的命名约定

ios - 如何在打开时将数据从父 View 传递给 subview ?

java - 新线程是否自动分配给 Java 中的不同 CPU 核心?

c++ - 根据用户请求停止 tbb 线程

java - 修改和访问线程类之外的值

ios - 按钮构造函数似乎不允许局部变量

ios - 如果事先知道 MAC 地址,有没有办法在 Swift 5 中计算 BLE 设备的 UUID?

swift - 通用CollectionView快速

ios - 如何在 iOS 中使用 Swift 和 Core 蓝牙从 Polar H10 获取心率测量值?

ios - Interface Builder 的全局调色板