0

我已经使用 Objective-C 有一段时间了,如果我在 .m 文件中声明变量,我想我必须将它们放在{}下面,@implementation但我刚刚遇到了一个 .m 文件,他们还没有完成那个,相反,他们只是把类似的东西放在int nn = 0;下面@implementation(尽管在@synthesize说明下)。这是怎么回事?

4

2 回答 2

4

如果它在括号之外,那么它是一个全局变量,无论它是在 . 之前还是之后@implementation。例如:

@implemenation Foo 
{
   int instanceVariable;
}

int globalVariable = 123;

- (void)bar
{
    int localVariable;

    instanceVariable = 1;
    globalVariable = 2;
    localVariable = 3;
}
于 2013-06-02T01:53:48.790 回答
0

由于您没有要显示的代码,因此很难说。从技术上讲,任何有效的 C 都可以在 Obj-C 中编译。因为nnint,这将是完全有效的 c。

于 2013-06-02T01:51:34.547 回答