我需要在我的应用中声明两个不同的常量 一个是简单的字符串,另一个需要是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?
任何帮助将不胜感激
答案 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";
查看常量,例如不可变的简单变量,并且不能更改它们的值。
另外,要小心定义指向常量和指针的指针。常数值。