Adi*_*yam 2 macos cocoa runtime objective-c
在objective-c中使用运行时库可以解决的问题究竟是什么?我认为运行时库o_o没有实际用途
被征服的主要问题是使语言有效.如果没有ObjC运行时库,则没有ObjC程序可以工作.
ObjC运行时库实现向对象发送消息,从类中查找方法实现,获取类数据等.所有这些都无法在编译时完成,因此需要运行时支持.这种对运行时支持的需求催生了ObjC运行时库.
如果它与Objective-C相关,那么运行时库可能就在它后面.
正如文档所述,
此共享库提供对Objective-C语言的动态属性的支持,因此由所有Objective-C应用程序链接.
此引用主要用于在Objective-C和其他语言之间开发桥接层,或用于低级调试.
您可能需要查看功能列表.有些人会objc_msgSend
执行您可能错误认为理所当然的行为.例如,电话:
[foo bar:4];
Run Code Online (Sandbox Code Playgroud)
实际上编译为:
objc_msgSend(foo, sel_getUid("bar:"), 4);
Run Code Online (Sandbox Code Playgroud)
或者沿着这些方向的东西.
归档时间: |
|
查看次数: |
344 次 |
最近记录: |