什么是objc_sync_exit(个体经营)

jha*_*Pac 5 swift

我看到这个函数在UISearchBarDelegate方法textDidChange中使用.我查看了所有文档并且无法提出任何建议.只是想知道是否有人可以阐明这个功能正在做什么.

 objc_sync_exit(self)
Run Code Online (Sandbox Code Playgroud)

Two*_*aws 2

当您编写同步代码来停止一次多次运行某些内容时(Objective-C:“@synchronized”),它会在幕后转换为对 objc_sync_enter() 和 objc_sync_exit() 的调用。

如果您看到有人直接使用这些函数,则表明他们不能使用普通的旧同步块(或他们自己的 Swift 包装器),因为他们的代码以某种方式被分割 - 同步在不同的地方开始和结束。

这是一个很好的 Swift 实现,它以类似于 Objective-C 的方式包装了此代码。