• IOS App 启动优化

    IOS App 启动优化 技术调研 启动时间计算公式 t1 = 系统dylib(动态链接库)和自身App可执行文件的加载; t2 = main方法执行之后到AppDelega...

  • 120
    关于Runloop的原理探究及基本使用

    一、什么是runloop 字面意思是“消息循环、运行循环”。它不是线程,但它和线程息息相关。一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。比如在c语言程序中...

  • ibireme和你的文章对我理解runloop提供了很多帮助,写的很nice!

    关于Runloop的原理探究及基本使用

    一、什么是runloop 字面意思是“消息循环、运行循环”。它不是线程,但它和线程息息相关。一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。比如在c语言程序中...

  • 恩 ,不过当时用Playground写,压根jump不到定义:joy:,直接拿swift源码看内部实现接口了。另外文章我自认为不是以讲接口为目的,而是在于理解为什么这么做——好像有点自夸了:grin:

    flatMap 温顾知新 —— 参照 Swift 源码实现讲解

    0. 前言 非常感谢喵神对本文的指正,并且引入“降维”一说。对于 Optional<T> 调用 flatMap 方法,源码实现内部首先进行解包行为后传值到闭包中(见图),这里...

  • 遍历完全指代一直调用next() 至到不满足某个条件(这里是>15 ,数组的话就是超过数组容量的时候)返回nil,表明iterator没有更多元素可以给你了,这不就是消耗殆尽吗?如果你想要能够让它继续工作,有两个办法,要么重置状态,这里是x,要么就是重新实例化一个迭代器。一般来说自定义一个iterator,内部是有个类似x的计数标识的,外部不可能去更改重置它,所以只开放next接口给外部,内部会累加+1,不可逆的。希望我的回答能帮助到你

    第三篇:AnyIterator , AnySequence ,IteratorOverOne的补充解释

    AnyIterator MyIterator 等价于 AnyIterator,实质是传入一个生成下一个元素的闭包。 这里 x 被关联至闭包中,充当了数据源的作用,而闭包的作用...

  • 120
    flatMap 温顾知新 —— 参照 Swift 源码实现讲解

    0. 前言 非常感谢喵神对本文的指正,并且引入“降维”一说。对于 Optional<T> 调用 flatMap 方法,源码实现内部首先进行解包行为后传值到闭包中(见图),这里...

  • @Liberalism 谢谢你的建议:smile:

    Grand Central Dispatch(GCD) 深入浅出

    1 GCD 术语 1.1 Serial vs. Concurrent 串行 vs. 并发 概念:该术语描述执行当前任务与其他任务之间的关系。串行执行意味着每次只有一个任务被执...

  • 120
    iOS成长之路3期·WWDC17内参

    毫无疑问,这是关于 iOS 11以及 WWDC17 介绍最详细的书。感谢所有作者做出的贡献。因为本书还没有全部完成(还有几篇文章正在完成中),现在高调发布预售版。现在价格为3...

  • [译]2017:Chris Lattner 谈 Swift

    Chris Lattner 在 WWDC 17 Swift panel 上的一些谈话摘要。 如何评价 Swift 的开源 设计编程语言的很多时候就是做权衡。从不同的角度看会得...

个人介绍
SwiftGG翻译组成员 | 三分钟热度lalala