load加载分析
原文中文,约1900字,阅读约需5分钟。
📝
内容提要
UIViewController+A 和 UIViewController+B 是两个实现了各自 load 方法的类别。load 方法的调用顺序取决于 Build Phases 中 Compile Sources 部分类的加载顺序。如果两个类别具有相同的方法名,则会调用最后加载的文件的方法。如果方法名不同,它们将不会相互影响。
🎯
关键要点
-
UIViewController+A 和 UIViewController+B 是两个实现了各自 load 方法的类别。
-
load 方法的调用顺序取决于 Build Phases 中 Compile Sources 部分类的加载顺序。
-
如果两个类别具有相同的方法名,调用最后加载的文件的方法。
-
如果方法名不同,它们将不会相互影响。
-
示例代码中,先执行 B 的 load 方法,再执行 A 的 load 方法。
-
调用相同的方法时,只会执行最后加载的文件的方法。
-
不同的方法不会相互影响,文件不会被覆盖。
❓
延伸问答
UIViewController+A 和 UIViewController+B 的 load 方法有什么区别?
它们各自实现了自己的 load 方法,调用顺序取决于 Build Phases 中 Compile Sources 的加载顺序。
如果两个类别有相同的方法名,调用时会发生什么?
会调用最后加载的文件的方法,在例子中只会执行 A 的 test 方法。
如何确定 load 方法的执行顺序?
执行顺序取决于 Build Phases 中 Compile Sources 的类加载顺序。
不同的方法名之间会相互影响吗?
不会,只有相同的方法才会受到影响,不同的方法不会相互影响。
在示例代码中,load 方法的输出顺序是什么?
输出顺序是先执行 B 的 load 方法,然后执行 A 的 load 方法。
如果调用 testA 和 testB 方法,会有什么结果?
会分别输出 testA 和 testB,证明文件没有被覆盖。
🏷️