美文网首页
iOS swift 之数组安全写法

iOS swift 之数组安全写法

作者: iOS刘耀宗 | 来源:发表于2021-08-01 16:06 被阅读0次

    通常如果要做到数组不越界,那么我们一般的写法

            let temp = [1,2,3,4,5]
            if temp.count > 6 {
                _ = temp[6]
            }
    

    每个地方都这么写,那么就显得很冗杂了代码.
    那我们希望如果越界的话返回的是nil
    那么我们可以利用 subscript 以及 泛型 来实现

    extension Array {
        subscript (safe index: Int) -> Element? {
            if self.count > index {
                return self[index]
            }
            return nil
        }
    }
    

    测试代码

    let temp = [1,2,3,4,5]
    let num = temp[safe : 1]
    print("num ---\(num)")
    打印结果:
    num ---Optional(2)
    
    let num = temp[safe : 7]
    print("num ---\(num)")
    打印结果:
    num ---nil
    

    相关文章

      网友评论

          本文标题:iOS swift 之数组安全写法

          本文链接:https://www.haomeiwen.com/subject/vmfrvltx.html