簡單操場代碼:迅速可選數組下標像下面
var array :[Int?]
array = [1, 2, 3]
array![1] = 4
從遊樂場
Playground execution failed: error: :8:1: error: '@lvalue $T6' is not identical to 'Int?' array![1] = 4
任何建議傢伙得到了一個錯誤?
簡單操場代碼:迅速可選數組下標像下面
var array :[Int?]
array = [1, 2, 3]
array![1] = 4
從遊樂場
Playground execution failed: error: :8:1: error: '@lvalue $T6' is not identical to 'Int?' array![1] = 4
任何建議傢伙得到了一個錯誤?
OK,我自己得到了答案
var array :[Int]?
array = [1, 2, 3]
if var tmpArray = array {
tmpArray[1] = 4
array = tmpArray
}
我怎麼能說這個,缺點&優點
您正在定義可選Ints的非可選陣列。當你嘗試訪問它時,你試圖強制解包數組本身,這是不必要的。你可以簡單地做:
array[1] = 4
非可選一個int數組(可選)應該是這樣的:
var array: [Int]?
我們都看到這是往哪裏去......不妨把它扔到這裏:https://devforums.apple.com/m essage/998882#998882 – Jack
當我定義一個如下所示的可選數組時 var array:[Int]? 陣列= [1,2,3] 陣列[1] = 4 我得到這個 >遊樂場執行失敗:錯誤::8:1:錯誤: '@lvalue $ T6' 是不相同'Int' array![1] = 4 –
xmkevinchen