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

iOS - In which thread ios selectors run

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

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

在哪个线程中 onCancelPressed 代码 运行s?我假设它们 运行 在主线程上,但是是否总是可以保证它们永远不会 运行 来自其他线程?另一方面,我是否应该将 ui 东西放在 onCancelPressed 的主块中。

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