2010-06-05 6 views
0

У меня есть класс под названием «Константы», в котором я храню переменную 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; 

ответ

1

Вы пропускаете% @ для параметра:

NSLog(@"ProfileId is: %@", [myConstants profileId]);

As сторона примечания, имена переменных должны начинаться с буквы нижнего регистра (константа, а не константа). Вы также можете использовать синтаксис точек со свойствами здесь: myConstants.profileId

Если это не сработает, отправьте код, который вы используете для назначения своего значения (полный метод).

+0

Я попробовал ваш код, и это значение выходит нулевой ... Для присвоения моего значения, я делаю это: В моем файле .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

+1

Я решил проблему с помощью этого кода: http://iphone.galloway.me.uk/iphone-sdktutorials/singleton-classes/ – squeezemylime

+0

Вы должны попытаться найти и понять свою ошибку, так как вы, вероятно, будете делать подобные вещи снова и опять. Но без кода (полный метод) мы не можем помочь. Вы всегда можете отредактировать свой вопрос. – Eiko

Смежные вопросы