平常的代碼中為了保證數(shù)組不越界,我們經(jīng)常要在代碼中加入判斷粮宛,這樣繁瑣的工作可以在swift中利用下標腳本很優(yōu)雅的解決貌踏,一勞永逸。
extension Array {
// 防止數(shù)組越界
subscript(index: Int, safe: Bool) -> Element? {
if safe {
if self.count > index {
return self[index]
}
else {
return nil
}
}
else {
return self[index]
}
}
}
使用
let arr = ["1","2"]
print("\(arr[1, true])")
print("\(arr[5, true])")
// 分別輸出可選類型的 "1"和nil
很簡單窟勃,我沒有打算直接用 “arr[1]” 這樣的解決方案祖乳,因為這涉及到修改swift根基,項目改動大秉氧,所以還是用保守方案眷昆。