У меня есть класс под названием «Константы», в котором я храню переменную String. Этот класс содержит несколько глобальных переменных, используемых в моем приложении.Как мне вызвать переменную из другого класса?
Я хочу, чтобы иметь возможность ссылаться на этот класс и вызывать переменную (называемую profileId) в других представлениях моего приложения.
Я огляделся и нашел несколько примеров, но не знаю, как это сделать. В настоящее время моя установка:
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];
}
И я пытаюсь вызвать переменную ProfileID в новом View через этот путь:
Файл: NewView.h
@class Constants;
NewView.m файл
NSLog(@"ProfileId is:", [myConstants profileId]);
Есть ли что-то я не хватает? Он придумывает нуль, даже если я правильно хранить значение в нем в другой функции, таким путем:
Constants *Constant;
Constant = [[Constants alloc] init];
Constant.profileId = userId;
Я попробовал ваш код, и это значение выходит нулевой ... Для присвоения моего значения, я делаю это: В моем файле .h: #import «Constants.h» @class Константа; В моем .m-файле: NSString * responseString = [request responseString]; \t NSString * userId = [responseString stringBetween: @ "" и: @ " "]; \t NSLog (@ "Идентификатор пользователя:"); \t NSLog (@ "% @", userId); (userId отображает правильное значение). Constants * Constant; \t \t Константа = [[Константы alloc] init]; \t \t Constant.profileId = userId; \t \t NSLog (@ "Constant profileId is:"); \t \t NSLog (@ "% @", Constant.profileId); (Constant.profileId отображает правильное значение). –
squeezemylime
Я решил проблему с помощью этого кода: http://iphone.galloway.me.uk/iphone-sdktutorials/singleton-classes/ – squeezemylime
Вы должны попытаться найти и понять свою ошибку, так как вы, вероятно, будете делать подобные вещи снова и опять. Но без кода (полный метод) мы не можем помочь. Вы всегда можете отредактировать свой вопрос. – Eiko