lessen 2

作者: 伽蓝香 | 来源:发表于2017-03-13 09:49 被阅读9次
  • 字典的索引值不是Key,是DictionaryIndex类型

    DictionaryIndex是一个指向字典内部缓存区的不透明的值

  • 字典索引下标访问返回值不是字典键值返回的可选值.返回的是一个确定值

    struct Dictionary {
       ...
       subscript(key: Key) -> Value? //返回可选值
    }
    protocol Collection {
       subscript(position: Index) -> Element {get}//返回确定值
    }
    

    Element返回的是一个元组:(key: Key, value: Value),而下标键值索引返回的是Value?是可选值

  • 索引值是一个只存存描述元素位置所需最小信息的简单值.尽可能不持有对集合的引用.集合通常不能分辨索引的归属(是否是其他同种类型集合的索引)比如数组:

    let numbers = [1,2,3,4]
    let squares = numbers.map { $0 * $0 }
    let numbersIndex = numbers.index(of: 4)! // 3 squares[numbersIndex] // 16
    

    类似String.Index

    let hello = "Hello"
    let world = "World"
    let helloIdx = hello.startIndex 
    world[helloIdx] // W
    

    在切片上会大量应用这个技术

  • swift2与swift3中对索引遍历有所改变,

    • swift2中索引可以自己进行步进移动someIndex.successor()
    • swift3中交给集合来完成collection.index(after: someIndex)

    在原来自己管理的索引模型中,索引值必须持有对集合的引用,在集合被迭代修改时造成不必要的复制,浪费性能.

  • 满足Comparable

    1. 实现<
    2. 实现==(继承自Equatable)
  • 切片

    切片和原集合共享缓存区,直到集合和切片都销毁时,内存才会被释放.

    Apple警告⚠️:切片只能当做临时计算

    20170306list释放(1).png
20170306list释放(2).png

在list中因为ARC的存在,当没有引用时,节点自动释放,注意的是list后面的节点不会释放

  • Collection协议上的拓展协议

    • BidirectionalCollection 支持前向,后向遍历的集合
    • RandomAccessCollection 支持高效随机存取索引遍历的集合
    • MutableCollection 支持下标赋值的集合
    • RangeReplaceableCollection 支持将任意子范围的元素用别的集合元素替换的集合

相关文章

  • lessen 2

    字典的索引值不是Key,是DictionaryIndex类型DictionaryIndex是一个指向字典内部缓存区...

  • Spiritual practice during break

    Learn to be quiet Immerse the mind And lessen the desire ...

  • lessen 1

    序列是可以无限的,集合不可以 满足 sequence的协议func makeIterator()->Iterato...

  • Codility lessen 3.1 FrohJmp

    这题好简单,没揣测明白出题点

  • 我敞开心灵,走向和平|我的奇迹日志

    D2-lessen13 “今天,我敞开心灵,领悟到总有另外的角度来看待生命中的任何体验。每当我遇到不能带给我和平的...

  • 我在做出反应前暂停片刻|我的奇迹日志

    D5-Lessen16 因为我知道假我总是想在事情发生时第一时间跳出来做出反应,我紧急要稍作停顿和容许灵性的爱穿越...

  • 我认出我的最佳利益|我的奇迹日志

    D3-lessen14 我察觉到不论我看到什么,都只是整幅图的一小部分。因为我不能看见整幅图,通常我认为对我好的,...

  • DAY 2(2/2)

    五彩滩声名在外,但是我们去的时候在休整,我们十分不甘心,根据各种攻略告诉我们在景区出口有村民守着问你要不要去五彩滩...

  • 2-2-2

    自由写作群 转化与蜕变 继续刚才的梦的后记 我想梦是用最形象的比喻告诉我内在正在经历着发生着什么,这是潜意识里已经...

  • 2 (2)

    突然想到Jenny ,那个有些神经质的女孩儿。 对我来说,Jenny 给我最深的印象是作家。作为一个作家,她的灵感...

网友评论

      本文标题:lessen 2

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