[英]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.