iOS 进阶 第十九天(0423)

时间:2022-12-11 08:20:38

0427

深复制/浅复制

浅复制:是址引用

深复制:是值拷贝

下面是解释,如下图:

iOS 进阶 第十九天(0423)


运行时机制runtime

1、表象的就是MPMoviePlayer

2、深层的是

  • clang -rewrite-objc main.m

iOS 进阶 第十九天(0423)

再简化分析如下:

iOS 进阶 第十九天(0423)

面试回答:

什么是runtime?

答:程序调用之间的所有东西就是runtime.

你用过runtime来做开发吗?

答:runtime是做底层的,我没用到过.不过我有时候用clang命令把它(.m文件)反编译到C++代码看一眼.都是objc_msgSend,消息派发机制.我看到了为什么就能非常确定说一个对象的点语法赋值和set方法是等价的,最终底层的原因是runtime底层将点语法通过消息派发机制再次调用了set方法来赋值.