Swift: 无法将类型 'Int?' 的值转换为指定类型 'UInt32'
Swift: Cannot convert value of type 'Int?' to specified type 'UInt32'
我正在尝试将数组计数分配给 UInt32。我收到错误 "Cannot convert value of type 'Int?' to specified type 'UInt32'"。数组计数是 Int 类型,但错误显示 "Int?",这看起来像一个可选的 Int。我不知道它还有什么意思。
let randColorCount:UInt32 = slider?.randUIColors.count
我也试过:
let randColorCount:UInt32 = UInt32(slider?.randUIColors.count)
但是我收到错误 "Cannot invoke initializer for type 'UInt32' with an argument list of type '(Int?)'"。
由于使用了可选链接,slider?.randUIColors.count
结果为 Int?
。
一个简单的解决方案是将它与 nil 合并运算符 ??
结合起来以提供默认值,因为 slider
是 nil
.
let randColorCount = UInt32(slider?.randUIColors.count ?? 0)
我正在尝试将数组计数分配给 UInt32。我收到错误 "Cannot convert value of type 'Int?' to specified type 'UInt32'"。数组计数是 Int 类型,但错误显示 "Int?",这看起来像一个可选的 Int。我不知道它还有什么意思。
let randColorCount:UInt32 = slider?.randUIColors.count
我也试过:
let randColorCount:UInt32 = UInt32(slider?.randUIColors.count)
但是我收到错误 "Cannot invoke initializer for type 'UInt32' with an argument list of type '(Int?)'"。
slider?.randUIColors.count
结果为 Int?
。
一个简单的解决方案是将它与 nil 合并运算符 ??
结合起来以提供默认值,因为 slider
是 nil
.
let randColorCount = UInt32(slider?.randUIColors.count ?? 0)