2
NSObject + load和+ initialize-它们做什么?
我有兴趣了解导致开发人员覆盖+ initialize或+ load的情况。文档清楚地表明,Objective-C运行时会为您调用这些方法,但是从这些方法的文档中确实可以看出所有这些。:-) 我的好奇心来自查看苹果的示例代码-MVCNetworking。他们的模型类有一个+(void) applicationStartup方法。它在文件系统上做一些内务处理,读取NSDefaults等等,等等,并且在尝试使用NSObject的类方法后,似乎可以将这项工作放到+ load中。 我确实修改了MVCNetworking项目,删除了App Delegate中对+ applicationStartup的调用,并将整理位放入+ load ...我的计算机没有着火,但这并不意味着它是正确的!我希望对您必须调用+ load或+ initialize的自定义安装方法周围的任何细微之处,陷阱和注意事项有所了解。 对于+ load文档说: 加载消息将发送到动态加载和静态链接的类和类别,但前提是新加载的类或类别实现了可以响应的方法。 如果您不知道所有单词的确切含义,那么这句话很笨拙且难以解析。救命! “动态加载和静态链接两者”是什么意思?是否可以动态加载和静态链接某些东西,或者它们是互斥的? “ ...新加载的类或类别实现了可以响应的方法”什么方法?反应如何? 至于+ initialize,文档说: 初始化它,每个类仅调用一次。如果要对类和类的类别执行独立的初始化,则应实现load方法。 我的意思是,“如果您要设置类...请不要使用初始化”。好的。什么时候或为什么要覆盖初始化?
115
objective-c
nsobject