我通过调用以下命令检测时区的变化:
- (void) applicationSignificantTimeChange:(UIApplication *)application
当我将此调用放在我的应用程序委托(delegate)文件中时,它会成功调用。但是,我试图在我正在构建的框架中使用它,并且不确定将它放在哪里或确保它被成功调用。您如何在 objective-c 框架中实现诸如此类的委托(delegate)方法?
最佳答案
您的框架可以注册为 .UIApplicationSignificantTimeChange
的观察者,而不是依赖 UIApplicationDelegate
方法:
class MyClass {
var observer: NSObjectProtocol!
init() {
observer = NotificationCenter.default.addObserver(forName: .UIApplicationSignificantTimeChange, object: nil, queue: .main) { [weak self] notification in
self?.handleNotification(notification)
}
}
private func handleNotification(_ notification: Notification) {
// do something
}
deinit {
NotificationCenter.default.removeObserver(observer)
}
}
关于ios - 委托(delegate)方法在我的应用程序中工作,我如何使它在我的框架中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44269222/