在我的项目中,我的代码被 DEBUG 模式标记包围,#if DEBUG如下所示:
#if DEBUG
let goToMainScreensGesture = UITapGestureRecognizer(target: self, action: #selector(navigateToMainStoryboard(_:)))
goToMainScreensGesture.delegate = self
goToMainScreensGesture.numberOfTapsRequired = 2
logoLargeImageView.isUserInteractionEnabled = true
logoLargeImageView.addGestureRecognizer(goToMainScreensGesture)
#endif
Run Code Online (Sandbox Code Playgroud)
但这不起作用,是否有另一种选择来添加我自己的调试模式?
在 TestFlight 上,Apple 会自动将调试模式应用程序移至发布模式。我需要将自己的全局调试模式添加到应用程序中,调试功能才能正常工作。
如何正确执行此操作的最佳实践是什么?
最好的办法是什么Safe Thread?
使用NSLock:
class Observable<T> {
typealias Observer = (_ observable: Observable<T>, T) -> Void
private var observers: [Observer]
private let lock = NSLock()
private var _value: T
var value: T {
get {
lock.lock()
let value = _value
lock.unlock()
return value
}
set {
lock.lock()
_value = newValue
lock.unlock()
}
}
init(_ value: T) {
self._value = value
observers = []
}
func observe(observer: @escaping Observer) {
self.observers.append((observer))
}
private func notifyObservers(_ value: T) { …Run Code Online (Sandbox Code Playgroud)