如何创建静态NSRange?

ice*_*ace 33 cocoa objective-c

这真是一个愚蠢的问题,但我真的不知道该怎么做.我有一个实用程序类,需要定义一些预定义的变量.这是我班级的样子.

#pragma mark File header part definiation (start offset, length)
NSRange HEADER_VERSION = NSMakeRange(0, 4); /* 0,4 */
NSRange HEADER_IDENTIFIER = NSMakeRange(4, 18); /* 4, 18*/ 
...

@interface ParserUtil : NSObject {

}

/*Parse Paper instance from file*/
+(Paper*) parsePaper:(NSURL*)file;
@end
Run Code Online (Sandbox Code Playgroud)

编译器告诉我第二行和第三行是错误的:

初始化程序不是常量.

定义变量的最佳做法是什么?

Vla*_*mir 61

NSRange是一个简单的c-struct,因此可以通过以下方式初始化:

NSRange HEADER_VERSION = {0, 4};
Run Code Online (Sandbox Code Playgroud)

要么

NSRange HEADER_VERSION = {.location = 0, .length = 4};
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅gcc手册的" 指定的内容"部分