首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NSObject +load和+initialize -它们做什么?

NSObject +load和+initialize -它们做什么?
EN

Stack Overflow用户
提问于 2012-11-11 05:53:51
回答 2查看 43.1K关注 0票数 122

我对了解导致开发人员覆盖+初始化或+加载的情况很感兴趣。文档清楚地说明了这些方法是由Objective-C运行时为您调用的,但从这些方法的文档中可以清楚地看到这一点。:-)

我的好奇心来自于查看苹果的示例代码- MVCNetworking。他们的模型类有一个+(void) applicationStartup方法。它在文件系统上做一些内务处理,读取NSDefaults,等等。并且,在尝试了NSObject的类方法之后,似乎可以将这项看门人的工作放到+load中。

我确实修改了MVCNetworking项目,删除了App Delegate中对+applicationStartup的调用,并将内务部分放入了+load……我的电脑没有着火,但这并不意味着它是正确的!我希望能够理解关于自定义设置方法的任何微妙之处,以及您必须调用的自定义设置方法与+load或+initialize之间的关系。

For +load文档表示:

加载消息将发送到动态加载和静态链接的类和类别,但前提是新加载的类或类别实现了可以响应的方法。

如果你不知道所有单词的确切含义,这个句子就很难解析。帮助!

  • “动态加载和静态链接”是什么意思?某些东西可以动态加载和静态链接吗,或者它们是否相互exclusive?
  • "...the新加载的类或类别实现了一个可以响应“What method?如何回应?

至于+初始化,文档说:

初始化每个类只调用一次。如果要对类和类的类别执行独立的初始化,则应实现load方法。

我认为这意味着,“如果你试图设置这个类……不要使用initialize。”好吧,好吧。那么我什么时候或者为什么要覆盖initialize呢?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13326435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档