iPhone - Как получить доступ к глобальной переменной с одного класса на другой - PullRequest
0 голосов
/ 27 декабря 2010

Я новичок в iPhone.

У меня есть приложение для iphone с двумя классами .. (а именно mainView, subView)

В mainView у меня есть глобальная переменная с именем currentId

я установил значение для currentId как 5.

Теперь мне нужно знать, как я могу получить доступ к этому currentId в классе subView.

Пожалуйста, помогите направить меня ...

Ответы [ 3 ]

1 голос
/ 27 декабря 2010

@ barbgal .... вы можете получить доступ к вашей переменной currenttid в подпредставлении ....... мой создатель объекта mainView в классе you subview

Предположим, что ваша переменная тока имеет тип NSInteger ...

mainView.h

NSInteger currentID;
@property(nonatomic,assign) NSInteger currentID;

mainView.m

 @synthesize currentID;
    currentID = 5; 
 //as you want to assign 5 to it

Теперь в вашем классе subView сделан объект класса mainView

Например: - mainView *mainView = [[mainView alloc]initWithNibName:@"mainView"bundle:nil];

Теперь назначьте его где-нибудь в вашем классе subView как mainView.currentid ...... Делайте то, что вы хотите сделать с этим значением в классе subView

1 голос
/ 27 декабря 2010

Хорошо, я думаю, что часть ответчика здесь верна, но нам нужно добавить кое-что еще здесь.

Так что я пойду шаг за шагом

1 Определенно вам нужно сделать currentID как свойство в MainView, как указано другими ответчиками

2 Что касается ответа Судханшу, если вы выделите и инициализируете mainview, будет инициализирован новый viewcontroller и, следовательно, его currentID будет иметь любое значение, поэтому это не правильно.

3 Теперь для части решения: - Для этого есть два решения: -

(1) mainview* vc = (mainview*)self.parentViewController;

затем получите доступ к currentID как vc.currentId

Не забудьте импортировать "mainview.h" в ваше подпредставление

(2) использовать переменные appdelegate, т.е. объявлять currentID в ur appdelegate и сделать его как собственность

затем установите currentID в mainview как: -

urAppDelegate делегат = (UrAppDelegate ) [[UIApplication sharedApplication] делегат]; delegate.currentID = @ "5";

и доступ в подпредставлении как

urAppDelegate делегат = (UrAppDelegate ) [[UIApplication sharedApplication] делегат]; NSLog (@ "% @", delegate.currentID);

Не забудьте импортировать "urAppDelegate.h" в оба контроллера представления

0 голосов
/ 27 декабря 2010

для доступа к currentId необходимо сделать его свойством, а затем, сделав объект класса mainView в классе subView, вы можете получить доступ к currentID.

в mainView.h

NSInteger currentID;

@property(nonatomic,assign) NSInteger currentID;

в mainView.m

@synthesize currentID;

и установите его значение там, где вы хотите, и в subView создайте объект класса mainView и с помощью. Оператор вы можете получить доступ к этой собственности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...