我感兴趣的是了解导致开发人员覆盖 + 初始化或 + 加载的情况。文档清楚地表明这些方法是 Objective-C 运行时为您调用的,但是从这些方法的文档中可以清楚地看到这一点。:-)
我的好奇心来自于苹果的示例代码—— MVCNetworking。他们的模型类有一个 +(void) applicationStartup
方法。它在文件系统上做一些管理工作,读取 NSDefault 等等。.并且,在尝试了解 NSObject 的类方法之后,似乎可以将这个清洁工作放入 + load 中。
我确实修改了 MVCNetworking 项目,删除了对 + applicationStartup 应用程序委托的调用,并将管理部分放入 + load... 我的电脑没有着火,但这并不意味着它是正确的!我希望能够了解一些关于自定义设置方法的细微之处、常见问题和诸如此类的东西,这些方法是您必须调用的,而不是 + load 或 + initialize。
For + load 文档显示:
加载消息被发送到既是 动态加载和静态链接,但只有在新加载的 类或类别实现一个可以响应。
如果你不知道所有单词的确切意思,那么这个句子就很复杂,很难解析!
“动态加载和静态链接”是什么意思某些东西可以动态加载和静态链接,还是它们相互排斥?
"...the newly loaded class or category implements a method that can respond" What method? Respond how?
至于 + initialize,文档说:
初始化每个类只调用一次 类和类别的独立初始化 类,则应该实现加载方法。
I take this to mean, "if your trying to setup the class... don't use initialize." Okay, fine. When or why would I override initialize then?