如何在目标c中声明常量

时间:2012-02-22 21:01:26

标签: iphone ios

我需要在我的应用中声明两个不同的常量 一个是简单的字符串,另一个需要是uint32。

我知道两种不同的声明常量的方法如下

#define VERSION 1; //I am not sure how this works in regards to uint32.. but thats what I need it to be.

NSString * const SIGNATURE = @"helloworld";

有没有办法做一个应该是uint32的版本,就像下面的nsstring decliration一样?

例如

UInt32 * const VERSION 1;
如果是这样怎么样?如果没有,我如何确保#define版本的类型为uint32?

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:5)

你非常接近。正确的语法是:

const UInt32 VERSION = 1;

您也可以使用UInt32 const而不是const UInt32。它们对于标量是相同的。但是,对于诸如SIGNATURE之类的指针,订单很重要,您的订单也是正确的。

答案 1 :(得分:2)

你对宏观定义感到困惑&常量:

#define VERSION (1)

#define SOME_STRING @"Hello there"

以上是宏定义。这意味着在编译期间VERSION& SOME_STRING将替换为遍及代码的已定义值。这是一个更快速的解决方案,但更难以调试。

常量声明的示例是:

const NSUInteger VERSION = 1;
NSString * const RKLICURegexException = @"Some string";

查看常量,例如不可变的简单变量,并且不能更改它们的值。

另外,要小心定义指向常量和指针的指针。常数值。