gpt4 book ai didi

swift - 当你在 swift 中运行弃用的代码时会发生什么?

转载 作者:可可西里 更新时间:2023-11-01 00:35:49 26 4
gpt4 key购买 nike

例如在 iOS 10 中有 UserNotifications 框架。在此之前,您只需使用:

let settings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()

(我在 iOS 10 上运行上面的代码,没有任何反应)。

我的一般性问题是:是否会一直运行已弃用的语法崩溃,什么也不做(就像现在一样)或者它如何处理是未知的?

我要求获得更好的调试理解

最佳答案

how it treats is unknown

基本上,这是正确的。它可能不会崩溃,但也不能保证能正常工作。

对于 UILocalNotification 世界,经验表明,如果您链​​接到 iOS 10,您的代码将无法正常工作。您必须切换到新的 UNUserNotificationCenter 代码。

但这不是由规则而是由实验决定的。

一个可靠的通用规则是,如果当前 iOS 版本已弃用某些内容,请不要使用它。这正是弃用的含义。

当然,如果您希望您的代码链接到 iOS 10 但同时在 iOS 10 和 iOS 9 上运行,比如说,您可能必须包含两组完全不同的代码,利用 Swift 的 if# available() 语法来响应我们实际运行的系统。在这种特殊情况下,您必须这样做才能管理本地通知。但这是进步的代价。 Apple(故意?)让您很难编写向后兼容的代码。

关于swift - 当你在 swift 中运行弃用的代码时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42586403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com