iOS那些不解的知识收集

  1. Swift 静态派发和动态派发
    动态派发是指需要在运行时找到方法的具体实现。
    静态派发是指在运行时调用方法不需要查表,直接跳转到方法的代码中执行。

2.内联是指在编译期把每一处方法调用替换为直接执行方法内部的代码,可以帮助你避免运行时方法调用的时间开销。

  1. Swift 柯里化
    柯里化(Currying),又称部分求值(Partial Evaluation),是一种函数式编程思想,就是把接受多个参数的函数转换成接收一个单一参数(最初函数的第一个参数)的函数,并且返回一个接受余下参数的新函数技术。

4.实现动画的方式:A.UIView Animation; B.CALayer Animation; C.UIViewPropertyAnimator(iOS 10引进);

5.iOS 9 分屏多任务:Slide Over & Split View

6.iOS11 Drag and Drop 图片拖动功能

7.defer:用一句话概括,就是 defer block 里的代码会在函数 return 之前执行,无论函数是从哪个分支 return 的,还是有 throw,还是自然而然走到最后一行。

8.数据持久化:
A.Plist:读写通过contentsFile和writeToFile保存App的基本参数;
B.Preference:UserDefaults完成key-value配对保存App的基本参数;
C.NSKeyedArchiver:遵循NSCoding协议,必须实现父类的归档(initWithCoder)和解档(encodeWithCoder)相比前面两者,可以任意指定文件存储的位置和文件名;
D.CoreData:苹果推出的大规模数据持久化的方案;
E.其他的三方:SQLite3,FMDB,Realm;

9.Serial/Concurrent:声明队列的属性是串行还是并行的;
Sync/Async:声明任务是同步执行还是异步执行的;

10.异步操作无论是在串行队列还是并行队列,都可能出现竞态条件的问题。官方的定义是如果程序运行顺序的改变会影响最终结果,这就是一个竞态条件(race condition).

11.AST抽象语法树

12.VFL:Visual Format Language

你可能感兴趣的:(iOS那些不解的知识收集)