我有一个应该将两个对象和一个float作为参数的静态方法。对象的一切都很好,但我的浮动变量丢失了。这里是一个测试用例:Objective-C静态方法问题
+ (void) someFunctionWithSomething: (xmlNodePtr *) node {
CGFloat fsize = 0;
if (fsize == 0) {
fsize = 15.0f;
}
NSLog (@"size1: %f", fsize); // output is 15.00000
[MyClass getFontWithSize: fsize];
}
+ (void) getFontWithSize: (CGFloat) fsize {
NSLog (@"size2: %f", fsize); // output is 0.00000
}
我的变量怎么突然变得零了?这可能与我从静态方法中调用静态方法的事实有关吗?我有一种感觉,这是一件非常简单的事情,我很想念这里。想法?
这是导致错误的实际代码吗?因为你说你有一个方法需要两个对象和一个浮点数,但是你提供了一个只有一个对象而没有浮点数的方法。 – 2011-03-07 14:58:58
我想你可能想看看现有的[Objective-C澄清; -/+和* var](http://stackoverflow.com/questions/406667/objective-c-clarification-and-var)问题。 :-) – 2011-03-07 15:00:22
@middaparka,谢谢你的指针:) – Shade 2011-03-07 15:02:57