所以我需要从 Objective-C 中的类方法调用一些实例方法...
例子 :
+(id)barWithFoo:(NSFoo *) {
[self foo]; //Raises compiler warning.
}
-(void)foo {
//cool stuff
}
所以我的问题是; StackOverFlow 是如何在 Objective-C 中做这样的事情,我对 OOP 有点陌生,所以我生气了,还是有办法做到这一点?
没有办法做到这一点。它根本不适用于面向对象。
课程有kinds东西的。就是这样。他们只是简单地describe那种东西是做什么的。
一个例子可能是您有一个“Dog”类。您将拥有定义狗如何摇尾巴或如何进食的实例方法。您可能有一个购买狗的类方法。
我的宠物狗 Fido 是狗类的一个实例。我可以给 Fido 发送消息,告诉他摇尾巴并吃东西。然而,我不能要求“Dog”类摇尾巴;谁的尾巴会摇?它是 Fido 的狗,还是我邻居的狗?
当您向班级发送消息时,您没有可以使用的“self”变量。没有什么可以告诉自己摇尾巴。类消息主要用于创建类的实例或获取其他一般信息。
Edit:澄清一下,最后一段过于简单化了。正如 bbum 所描述的那样,类方法中有一个“self”变量 - 它是计算机对类描述的引用。也就是说,我认为我从未有过在类方法中使用“self”的机会。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)