J'ai une classe appelée 'Constantes' dans laquelle je stocke une variable String. Cette classe contient quelques variables globales utilisées dans mon application.Comment appeler une variable d'une autre classe?
Je veux pouvoir référencer cette classe et appeler la variable (appelée profileId) dans d'autres vues de mon application. J'ai regardé autour de moi et j'ai trouvé quelques exemples, mais je ne suis pas sûr de savoir comment faire. À l'heure actuelle ma configuration est:
Constants.h
@interface Constants : UIViewController {
NSString *profileId;
}
@property (nonatomic, retain) NSString *profileId;
@end
Constants.m
#import "Constants.h"
@implementation Constants
@synthesize profileId;
- (void)dealloc {
[profileId release];
[super dealloc];
}
J'essaie d'appeler la ProfileId variable dans une nouvelle vue par cette voie:
fichier NewView.h
@class Constants;
fichier NewView.m
NSLog(@"ProfileId is:", [myConstants profileId]);
Y at-il quelque chose que je suis absent? Il est à venir nulle, même si je stocke correctement une valeur dans une autre fonction via cette façon:
Constants *Constant;
Constant = [[Constants alloc] init];
Constant.profileId = userId;
J'ai essayé votre code, et il est la valeur null sort ... Pour l'attribution de ma valeur, je fais ceci: Dans mon fichier .h: #import « Constants.h » Les Constantes Les ; Dans mon fichier .m: NSString * responseString = [request responseString]; \t NSString * userId = [Chaîne chaîne_réponsesEntre: @ "" et: " "]; \t NSLog (@ "ID utilisateur est:"); \t NSLog (@ "% @", ID utilisateur); (l'ID utilisateur affiche une valeur correcte). Constantes * Constante; \t \t Constante = [[Constants alloc] init]; \t \t Constant.profileId = ID utilisateur; \t \t NSLog (@ "Constante profileId est:"); \t \t NSLog (@ "% @", Constant.profileId); (Constant.profileId affiche la valeur correcte). –
squeezemylime
J'ai résolu le problème via ce code: http://iphone.galloway.me.uk/iphone-sdktutorials/singleton-classes/ – squeezemylime
Vous devriez essayer de trouver et de comprendre votre erreur, car vous referez probablement des choses similaires et encore. Mais sans le code (methhod complet) nous ne pouvons pas aider. Vous pouvez toujours modifier votre question. – Eiko