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 \'
When it comes to storage classes, static means one of two things.
A static variable inside a method or function retains its value between invocations.
A static variable declared globally can be called by any function or method, so long as those functions appear in the same file as the static variable. The same goes for static functions.
Whereas static makes functions and variables globally visible within a particular file, extern makes them visible globally to all files.
Any time your application uses a string constant with a non-linguistic value in a public interface, it should declare it as an external string constant.
The pattern is to declare an extern NSString * const in a public header, and define that NSString * const in the implementation.
Source: nshipster.com/c-storage-classes