non-fragile:oc2.0特性--继承结构的父类内存布局变化时子类是否需要重新编译的问题
Runtime Versions and Platforms
There are different versions of the Objective-C runtime on different platforms.
Legacy and Modern Versions
There are two versions of the Objective-C runtime—“modern” and “legacy”. The modern version was introduced with Objective-C 2.0 and includes a number of new features. The programming interface for the legacy version of the runtime is described in Objective-C 1 Runtime Reference; the programming interface for the modern version of the runtime is described in Objective-C Runtime Reference.
The most notable new feature is that instance variables in the modern runtime are “non-fragile”:
-
In the legacy runtime, if you change the layout of instance variables in a class, you must recompile classes that inherit from it.
-
In the modern runtime, if you change the layout of instance variables in a class, you do not have to recompile classes that inherit from it.
In addition, the modern runtime supports instance variable synthesis for declared properties (see Declared Properties in The Objective-C Programming Language).
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtVersionsPlatforms.html#//apple_ref/doc/uid/TP40008048-CH106-SW1
相关文章
- DLL内存加载
- (c#) 销毁资源和释放内存
- 使用MAT 分析内存泄漏实战
- C++继承 派生类中的内存布局(单继承、多继承、虚拟继承)
- 多重继承及虚继承中对象内存的分布
- hql查询语句 内存中的情况,fetch迫切查询关键字
- linux 重用 short 为 I/O 内存
- 函数的返回值保存在内存的什么区域
- IE内存泄露与无法回收研究小结
- 浅析前端缓存:强缓存(Expires与Cache-Control详解)与协商缓存(4个配置)、缓存失效的问题、缓存nginx配置、缓存存在哪里(内存、硬盘、ServiceWorker)
- 人人都是 DBA(IV)SQL Server 内存管理
- QL Server数据库占用过多内存的解决方法
- C++对象内存分布(3) - 菱形继承(virtual)
- 内存管理--分发您的程序存储器
- C++反汇编第四讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式.
- 内存/闪存今年集体缺货、涨价!罪魁祸首是它
- JVM堆内存模型概括