[英]Cannot use optional chaining on non-optional value of type '[Int]'
我试图通过仅选择数组中的三个数字之一来使我的代码在 Swift 4 中打印“Hello World”,并且我得到了标题中列出的错误。
func newFunc() {
let employees = [1, 2, 3]?
if employees == [1] {
let printthis = "Hello World!"
print(printthis)
} else {
print("Nothing here")
}
}
newFunc()
你不能申请“?” 对象/实例可选。 您可以通过放置“?”来将对象定义为 Optional 在类型上:
let employees: [Int]? = [1, 2, 3]
您的员工数组现在将是一个 Optional Int 数组。 似乎您不需要可选项,因此您可以跳过“?” 从定义
要检查数组是否包含值,您可以通过以下方式检查它:
if employees.contains(1) {
let printthis = "Hello World!"
print(printthis)
} else {
print("Nothing here")
}
问题就在这里
let employees = [1, 2, 3]?
应该是这样的,不能追加?
对于那个声明
let employees = [1, 2, 3]
编码
let employees = [1, 2, 3]?
不是有效的 Swift。
如果要创建可选的整数数组,请使用
let employees: [Int]? = [1, 2, 3]
但是,您不太可能想要一个可选的 let 常量。 去掉问号可能更好:
let employees = [1, 2, 3]
如果您真的希望员工成为可选数组,并且您真的希望将可选说明符放在声明的右侧,您可以这样做:
let employees = Optional([1, 2, 3])
但是我又不确定为什么你想要一个可选的let
常量作为实例变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.