gpt4 book ai didi

ios - Objective-C 中的调用方法层次结构

转载 作者:行者123 更新时间:2023-11-28 21:56:43 25 4
gpt4 key购买 nike

我声明了一个类方法:

+(int)widthScaled:(UIImage *)image maximumHeight:(int)max{
int width = 0;
width = (image.size.width - (((image.size.height - max)*100)/image.size.height)*image.size.width)/100;

return width;

}

在同一个类中,我声明了一个这样的实例方法:

- (void)generarVistas{
if(...){
...
}else{
for(...){
...
//I need to put the class method here but if I call the class method like this, don't recognize
int variable = [[self class] widthScaled:image maximumHeight:max];
...
}
}

我尝试将类方法放在实例方法中,但不起作用。我应该指出什么上下文来识别类方法?

最佳答案

您面临的问题是 [self class] 是一个运行时调用,其返回结果直到运行时才为人所知。编译器不知道它是什么类。您正在编写的代码必须始终从固定类中调用,所以不要那样做。如果类是 FooClass,则使用这种形式:

int variable = [FooClass widthScaled:image maximumHeight:max];

(将 [self class] 替换为您的类名,例如 FooClass。)

关于ios - Objective-C 中的调用方法层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26298206/

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