【问题标题】:Swift: Cannot convert value of type 'Int?' to specified type 'UInt32'Swift:无法转换“Int”类型的值?到指定类型'UInt32'
【发布时间】:2018-07-09 17:12:45
【问题描述】:

我正在尝试将数组计数分配给 UInt32。我收到错误“无法转换 'Int 类型的值?'到指定类型'UInt32'”。数组计数是 Int 类型,但错误显示“Int?”,它看起来像一个可选的 Int。我不知道这可能意味着什么。

let randColorCount:UInt32 = slider?.randUIColors.count

我也试过了:

let randColorCount:UInt32 = UInt32(slider?.randUIColors.count)

但我收到错误“无法使用类型为 '(Int?)' 的参数列表调用类型为 'UInt32' 的初始化程序”。

【问题讨论】:

    标签: swift optional uint32


    【解决方案1】:

    slider?.randUIColors.count 的结果是 Int?,因为使用了可选链接。

    一个简单的解决方案是将其与 nil 合并运算符 ?? 结合使用,以提供默认值,以防 slidernil

    let randColorCount = UInt32(slider?.randUIColors.count ?? 0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 2017-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多