I have been using static const in my header files as so:
static NSString * const myString = @\"foo\";
But have read that this is not the \'
Using static NSString* const myString = @"foo"; in a header file means that each translation unit gets a separate myString variable. I think the linker may consolidate these, but I wouldn't count on it. That means that code which compares a string it has received using if (someString == myString) ... might get false even if the caller passed myString in, if the caller were from a different translation unit. (Of course, code should use -isEqualToString: instead of ==, but with a properly-declared string constant the latter may be workable.)