修正索引越界的錯誤
目標:找出索引越界的錯誤
簡介
你可以透過索引來存取使用陣列中的項目,就像使用任何其他變數一樣。
透過索引存取項目
swift line let characters = [ Character(name:.byte), Character (name: .blu), Character(name: .hopper) ]
characters[e].toggleswitch
:Byte 切換開關
charactersr[2].jump()
:Hopper 跳躍
但是,請注意不要嘗試存取不存在的項目!這樣會造成 索引越界錯誤
,這種 程式錯誤
會導致應用程式無法執行。
索引越界錯誤
索引 3 處沒有項目,因此你的程式碼不會執行。
characters[3].collectGem()
下列程式碼包含一個導致程式碼無法執行的索引越界錯誤。請找出錯誤, 加以修正,並執行稈式碼。
講解
可以先試著跑過一次錯誤的程式碼,去判斷程式在什麼時候產生錯誤,同時可以確定索引值有沒有超過陣列的大小,並修正程式碼。
解答
請務必嘗試解題
請同學務必嘗試自己解題,不要直接看答案。學習程式時最好的學習方法是自己嘗試解題,程式設計不會只有一種寫法,請通過不斷的嘗試和優化來找到屬於自己最好的解答。
後記
請記住,找出程式錯誤並加以修正,是成為程式設計師不可或缺的重要部分!索引越界錯誤是導至 App 當機的常見錯誤程式之一。設計程式碼時,請隨時檢查你的程式碼,確保沒有嘗試存取陣列中不存在的部分。