How to create a static NSRange?

It is really a stupid question, but I really don't know how to. I have a utility class and need to define some pre-defined variables. Here's how my class looks.

#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

The compiler tell me the second and the third lines are error:

initializer is not constant.

What is the best practice of defining the variables?

Answers


NSRange is a plain c-struct so it can be initialized the following way:

NSRange HEADER_VERSION = {0, 4};

or

NSRange HEADER_VERSION = {.location = 0, .length = 4};

See Designated inits section of gcc manual for more details


Need Your Help

What is Communications error: OS_xpc_error in Xcode 6?

xcode swift

I got this error this morning and can't find a reasonable explanation:

How to use angularJS interceptor to only intercept specific http requests?

angularjs angularjs-service

I know how to intercept ALL requests, but I only want to intercept requests from my resources.