gpt4 book ai didi

objective-c - 从类方法调用实例方法

转载 作者:太空狗 更新时间:2023-10-30 03:15:25 28 4
gpt4 key购买 nike

所以我需要从Objective-C中的类方法中调用一些实例方法...

示例:

+(id)barWithFoo:(NSFoo *) {
[self foo]; //Raises compiler warning.
}

-(void)foo {
//cool stuff
}

所以我的问题; StackOverFlow 是如何在 Objective-C 中做这些事情的,我是 OOP 的新手,所以我很生气,或者有办法做到这一点吗?

最佳答案

没有办法做到这一点。它根本不适用于面向对象。

类是种类的东西。就是这样。他们只是描述那种东西的作用。

例如,您有一个“狗”类。您将拥有定义狗如何摇尾部或如何进食的实例方法。您可能有一个购买狗的类方法。

我的宠物狗 Fido 是 dog 类的一个实例。我可以给 Fido 发信息,告诉他摇尾部吃他的食物。但是,我不能要求“狗”类摇尾部;谁的尾部会摇?是 Fido 的,还是我邻居的狗?

当您向类(class)发送消息时,您没有可使用的“self”变量。没有什么可以告诉自己摇自己的尾部。类消息主要用于创建类的实例或获取其他一般信息。

编辑:澄清一下,最后一段过于简单化了。正如 bbum 所描述的那样,类方法中有一个“self”变量——它是计算机对类描述的引用。也就是说,我认为我从未有过在类方法中使用“self”的机会。

关于objective-c - 从类方法调用实例方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2121880/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com