image.png
image.png
image.png
知道了OC的系统函数和入参,尽管不知道具体实现,也可以拿来用
image.png
image.png
image.png
image.png
image.png
image.png
@select 是oc Runtime那一套东西,swift本身没有runtime的
image.png
image.png
1.为什么Swift暴露给OC的类最终要继承自NSObject?
- oc调用swift,swift类要继承NSObject,因为alloc这些类方法来自于NSObject ,调用方法要有个iss指针去使用runtime那一套东西,所以必须继承与NSObject
2.p.run()底层是怎么调用的?反过来,oc调用Swift底层又是如何调用?
swift里面调用OC的方法本质是objc-msgsend runtime那些东西
如果swift调用swift方法非要使用objc-msgsend调用逻辑的话,则要给swift方法添加dynamic修饰符
3.car.run()底层是怎么调用?
- 仍然是swift虚表那些东西,如果非要使用objc-msgsend调用逻辑的话,则要给run()添加dynamic修饰符
String
image.png
str.index...生成一个索引
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
NSMutableString继承与NSstring
image.png