V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
EyreFree
V2EX  ›  Swift

分享一个数组下标越界也不会爆炸的 Swift 库

  •  
  •   EyreFree · 2017-08-03 19:27:13 +08:00 · 3797 次点击
    这是一个创建于 2666 天前的主题,其中的信息可能已经有所发展或是发生改变。

    分享一个数组下标越界也不会爆炸的垃圾 Swift 库 - EFSafeArray

    项目地址: https://github.com/EyreFree/EFSafeArray

    var list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
    

    初步用法是这个样子的,在下标后面加个小尾巴就可以返回 Optional 了...:

    let xxx = list[0]               // xxx: Int = 1
    let zzz = list[0~]              // zzz: Int? = 1
    let yyy = list[10~]             // yyy: Int? = nil
    

    也可以取 Range,如下:

    // Get Bounds
    let iiii = list[(0...5)~]       // iiii: ArraySlice<Int>? = [1, 2, 3, 4, 5, 6]
    let oooo = list[(-1...12)~]     // oooo: ArraySlice<Int>? = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
    

    好了广告打完了...感谢各位大佬驻足观看,管理不要封我 ID,谢谢( QAQ,逃...

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3455 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:45 · PVG 18:45 · LAX 02:45 · JFK 05:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.