Mat*_*ler 12 try-catch swift swift2
我正在重构一个Obj-c类,其中有一个@try/@catch块removeObserver:.
在swift中执行相同的操作会触发警告,因为removeObserver可能会失败(当没有观察者时),但它不会引发任何错误.
知道如何实现相同的行为吗?
编辑:我的代码:
try {
self.removeObserver(self, forKeyPath: "LineDisplayChanged")
}
Run Code Online (Sandbox Code Playgroud)
要删除警告只需删除try { }. removeObserver:forKeyPath:抛出异常而不是错误。而且您无法在 Swift 中捕获异常,因此请确保仅在观察时才调用此方法,否则它将崩溃,并且在 Swift 中没有办法解决它。
您可以在 Objective-C 中编写一个类别来包装此调用并捕获异常并返回错误。
| 归档时间: |
|
| 查看次数: |
6090 次 |
| 最近记录: |