去年我迁移到Swift 4.2时,Swift 4.2迁移器在我的某些控制器中添加了一个辅助函数:
// Helper function inserted by Swift 4.2 migrator.
fileprivate func convertToUIApplicationOpenExternalURLOptionsKeyDictionary(_ input: [String: Any]) -> [UIApplication.OpenExternalURLOptionsKey: Any] {
return Dictionary(uniqueKeysWithValues: input.map { key, value in (UIApplication.OpenExternalURLOptionsKey(rawValue: key), value)})
}
Run Code Online (Sandbox Code Playgroud)
什么时候可以安全移除?
大概该文件(或该文件的先前版本)中的某些函数调用此UIApplication方法:
func open(_ url: URL, options: [UIApplication.OpenExternalURLOptionsKey : Any] = [:], completionHandler completion: ((Bool) -> Void)? = nil)
Run Code Online (Sandbox Code Playgroud)
在iOS 12之前,该方法具有不同的签名:
func open(_ url: URL, options: [String : Any] = [:], completionHandler completion: ((Bool) -> Void)? = nil)
Run Code Online (Sandbox Code Playgroud)
当Xcode 10迁移项目时,它添加了convertToUIApplicationOpenExternalURLOptionsKeyDictionary函数并在对open(_:options:completionHandler:)方法的每次调用中都插入了对该函数的调用,以翻译选项字典。
如果将对open(_:options:completionHandler:)方法的每次调用更新为使用UIApplication.OpenExternalURLOptionsKey常量,则可以删除对的调用convertToUIApplicationOpenExternalURLOptionsKeyDictionary并完全删除函数。
| 归档时间: |
|
| 查看次数: |
597 次 |
| 最近记录: |