runtime问题

来源:12-5 客户端整体架构相关面试问题&面试总结

LeoLee007

2019-11-15

老师你好,看你到你再runtime章节讲到的
objc_object
isa_t ,关于isa操作相关, 弱引用相关 ,关联对象相关 ,内存管理相关
object_class

和查看objc.h中所呈现的不太一样
struct objc_object {
Class _Nonnull isa OBJC_ISA_AVAILABILITY;
};

struct objc_class {
Class _Nonnull isa OBJC_ISA_AVAILABILITY;

#if !OBJC2
Class _Nullable super_class OBJC2_UNAVAILABLE;
const char * _Nonnull name OBJC2_UNAVAILABLE;
long version OBJC2_UNAVAILABLE;
long info OBJC2_UNAVAILABLE;
long instance_size OBJC2_UNAVAILABLE;
struct objc_ivar_list * _Nullable ivars OBJC2_UNAVAILABLE;
struct objc_method_list * _Nullable * _Nullable methodLists OBJC2_UNAVAILABLE;
struct objc_cache * _Nonnull cache OBJC2_UNAVAILABLE;
struct objc_protocol_list * _Nullable protocols OBJC2_UNAVAILABLE;
#endif

} OBJC2_UNAVAILABLE;

转成c++也是没有,请问您是怎么查看的?

写回答

1回答

于海

2019-11-15

课程中runtime的源码是按照runtime-680版本讲的呢,亲看下版本是否一致呢

0
1
LeoLee007
非常感谢!
2019-11-25
共1条回复

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程