Declaración variable en Objective-C: interfaz vs implementación

Cual es la diferencia entre estos dos:

@interface MyClass () { BOOL newUser; } 

O

 @implementation MyClass { BOOL newUser; } @end 

las variables declaradas en su interfaz, como en 1., son visibles en otras classs que instancian objects de MyClass. La variable declarada en 2. solo será visible dentro de MyClass. Aquí hay algo que debería leer: http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/

EDITAR: @JoshCaswell tiene razón. 1. es una categoría anónima. Sus varaibles se verán dependiendo de dónde se declare la interfaz. un mejor enlace para leer sobre esto es: http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html