【问题标题】:xCode 12.5 swift 5.4 type inference issue, result not usedxCode 12.5 swift 5.4 类型推断问题,未使用结果
【发布时间】:2021-05-02 22:33:44
【问题描述】:

您好,我昨天安装了 xcode 12.5,我在 3 天前使用 xcode 12.3 上传了一个工作项目,安装 xcode 12.5 后我注意到以下问题:

为了解决这个问题,我必须将 list 变量类型指定为:

我需要知道是编译器的问题,使用不可靠,还是语言的语义更新了!!

【问题讨论】:

  • 您没有提供足够的信息,无法重现该问题。如果我为 DeliveryStatus 和 ModelDeliveryOrderFilterInput 提供我自己的初始化程序,那么您的代码编译得很好,没有这些警告。请提供minimal reproducible example,请勿发布代码图片。

标签: swift xcode


【解决方案1】:

尝试将return 关键字放在闭包中,而不是显式类型:

return ModelDeliveryOrderFilterInput...

这应该向编译器阐明您的意图。

【讨论】:

  • 我的问题是,对于大型项目更新到最新版本的 xcode 可能会导致诸如此类的不可预见的问题,map 函数应该推断出ModelDeliveryOrderFilterInput 的返回值的用法构造函数,而不是推断 map 函数体返回 Void : ()
  • 问题是,我的建议是否解决了这行代码的问题。请测试一下。谢谢。
  • 顺便说一句,另一种可能性是尝试将这三行放在一条线上。我怀疑编译器很困惑,没有意识到这是“单线”。
  • 不,将代码放在一行中并没有改变任何东西,顺便说一句,这是我在提问之前测试的第一件事。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 2016-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多