在Objective-C表达式中使用常量变量?

时间:2009-04-14 17:10:33

标签: objective-c scope constants

在Java中

  

static final int VCount = 21, TCount = 28, NCount = VCount * TCount;

在Objective-C

  

static int VCount = 21, TCount = 28, NCount = ???;

如何表达 NCount int,因为它引用变量?

1 个答案:

答案 0 :(得分:9)

那些变量不是常量。通常在Objective-C中,您可以使用预处理器定义基本常量,并将它们放在共享头文件中。例如:

#define VCOUNT 21

以这种方式创建的常量通常以全部大写形式编写。另一个约定是在共享源文件(一切都链接到的文件)中创建符号,并将其声明为外部符号。 Cocoa通过明确定义的键值来实现这一点。例如,在共享头文件中,您将定义变量:

extern const NSString *myGlobalKey;

然后在某个源文件中,您定义变量的实际值(在文件范围内):

const NSString *myGlobalKey = @"MyGlobalKey";

如果你的类只是使用一个全局的常量变量,并且该值不需要在你的类之外的范围,那么可以使用任何这些技术,而不是在任何共享头文件中为它们提供定义。