Objective-C静态方法问题

Objective-C static method problem

我有一个静态方法,它应该取两个对象和一个浮点作为参数。对象一切正常,但我的float变量丢失了。下面是一个测试用例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
+ (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
}

为什么我的变量突然变为零?这是否与我从静态方法内部调用静态方法的事实有关?我有种感觉,这真的是我在这里错过的简单的东西。思想?


检查您的头文件是否具有与您的定义匹配的getFontWithSize原型:

1
 +(void) getFontWithSize: (CGFloat) fsize;

也许你那里有些不同的东西。