Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在objective c中声明常量_Iphone_Ios - Fatal编程技术网

Iphone 如何在objective c中声明常量

Iphone 如何在objective c中声明常量,iphone,ios,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 declition那样的uint32版本 比如说 UInt32 * const VERSION 1; 如果

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

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

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

有没有一种方法可以实现像下面的nsstring declition那样的uint32版本

比如说

UInt32 * const VERSION 1;
如果是,怎么做?如果不是,如何确保#define版本为uint32类型


任何帮助都将不胜感激

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

const UInt32 VERSION = 1;

也可以使用
UInt32 const
而不是
constuint32
。对于标量,它们是相同的。但是,对于诸如签名之类的指针,顺序很重要,并且您的顺序是正确的。

您被宏定义和常量弄糊涂了:

#define VERSION (1)

以上是宏定义。这意味着在编译版本期间&一些_字符串将被整个代码中定义的值替换。这是一个更快的解决方案,但调试起来更困难

常量声明的示例包括:

const NSUInteger VERSION = 1;
NSString * const RKLICURegexException = @"Some string";
将常量视为不可变且不能更改其值的简单变量


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

会有你想要的答案吗?可能是cool的副本,非常感谢,一旦时间到了,我会标记你的答案。这就很好地解释了为什么我会因为使用*。。。该死,我讨厌指针。
#define SOME_STRING @"Hello there"
const NSUInteger VERSION = 1;
NSString * const RKLICURegexException = @"Some string";