Personally I've always put statics above any class implementations:
static NSString *const glop = @"glop";
@implementation Foo
However, I often see people use
@implementation Foo
static NSString *const glop = @"glop";
As a test I wrote a class extension and found (unsurprisingly) that this latter case does not enclose the static within the implementation - any class extension can see it as well as a function placed below the class implementation.
Is there some reason I'm unaware of to pu the static inside the implementation? I just find it ugly (but I know, everyone has a style opinion!)
David