是否有一种方法,类似于使用if let
和/或选项,来测试您是否要在Swift中索引空缓冲区?
答案 0 :(得分:15)
定义你自己的:
extension Array {
func ref (i:Int) -> T? {
return 0 <= i && i < count ? self[i] : nil
}
}
ref()
函数返回一个可选项,因此它可以是nil
,并且您可以使用if let
语法在ref()
存在时访问返回的值。你可以这样使用它:
var myA = [10,20,30]
if let val = myA.ref(index) {
// Use 'val' if index is < 3
}
else {
// Do this if the index is too high
}