intente hacer un archivo que contenga las variables a las que se debe acceder a través de la aplicación.
extern NSString *stringVariable;
@interface GlobalVariables
@property (retain, nonatomic) NSString *stringVariable;
@end
y en el archivo GlobalVariables.m añadir
#import "GlobalVariables.h"
@implements GlobalVariables
@synthesize stringVariable;
NSString *stringVariable;
@end
Y luego, siempre y cuando se importa en qué archivos GlobalVariables.h vez .m necesita tener acceso a esa variable en que puede asignar y el acceso en cualquier parte de tu programa.
EDITAR
Mi respuesta que he dado más arriba no es diferente la forma en que iba a ir haciendo esto ahora. Sería más como
@interface MyClass
@property (nonatomic, strong) NSString *myVariable;
@end
a continuación en el archivo .m
@implementation MyClass
@sythesize = myVariable = _myVariable; // Not that we need to do this anymore
@end
Luego, en otra clase en algún método que tendría
// .....
MyClass *myClass = [[MyClass alloc] init];
[myClass setMyVariable:@"My String to go in my variable"];
// .....
"Tengo varias clases en mi archivo Cocoa." La forma habitual es crear un par de archivos (MyClass.h, MyClass.m) para cada clase. Puede hacer esto haciendo clic con el botón derecho en un grupo en el proyecto y haciendo clic en Agregar archivo. Creará el .m, y el .h vendrá gratis. –
El acceso directo a variables de instancia es una muy mala idea. Usa propiedades y sintetiza los accesorios o escribe los tuyos. El acceso directo variable rompe cosas como KVO y enlaces en Mac OS X, y no es buena práctica de OO. – Alex