gpt4 book ai didi

objective-c - 通过类名与自身调用类方法

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

假设我们有一个名为Calculator 的类。其中有一个类方法,称为runProgram。如果我想在类的实现中调用此类方法,这两者之间的区别是什么:

[Calculator runProgram]

[self runProgram]

这两个是一样的吗?

最佳答案

如果在实例方法中:

[self runProgram]

其中,self 表示对象实例本身,因此会产生运行时错误。你想用

[[self class] runProgram]

相反。

但是,如果你从另一个类方法中调用这个方法,那么

[self runProgram]

是正确的,因为现在 self 指的是类本身。我不鼓励使用

[Calculator runProgram]

因为该类的子类会错误地调用父类(super class)(Calculator)的方法,而不是可能被覆盖的方法。

关于objective-c - 通过类名与自身调用类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10369946/

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