【问题标题】:Swift SFSymbol unexpectedly found nil for UIImageSwift SFSymbol 意外发现 UIImage 的 nil
【发布时间】:2021-09-09 06:50:33
【问题描述】:

我有一个我不理解的错误。

我测试过的所有设备都没有这个问题。但是,在ipad mini 4 iOS 13.4 我收到错误:Swift runtime failure: Unexpectedly found nil while unwrapping an Optional value

let image = UIImage(systemName: "chevron.forward")?

我以编程方式在 viewDidLoad() 上分配值。我测试过的所有设备都没有这个问题,除了 mini 4。

我认为 SF 符号适用于 iOS 13+,但我似乎可以理解为什么 iPad mini 4 会发生崩溃。

苹果声明,

“SF 符号在 iOS 13 及更高版本、macOS 11 及更高版本中可用, watchOS 6 及更高版本,以及 tvOS 13 及更高版本。”

但不同意在不同的 iOS 版本中只能访问特定的符号。 Reference

【问题讨论】:

  • 这是一个有条件的展开行,所以不应该崩溃。您确定它不会在您强制解包值的其他地方崩溃吗?

标签: ios swift xcode uiimage


【解决方案1】:

Apple 在不同时间添加了新符号。 chevron.forward 符号是在 iOS 14 中添加的,这就是它在 iOS 13 中崩溃的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    相关资源
    最近更新 更多