Обновить текст textField из другого класса - PullRequest
1 голос
/ 25 февраля 2011

Я пытаюсь обновить одно текстовое поле из другого класса:

У меня есть два класса:

  @interface FlipsideViewController : UIViewController <PostDistanceControllerDelegate>  {
id <FlipsideViewControllerDelegate> delegate;

IBOutlet UITextField *currentStatus;
IBOutlet UITextField *currentUpdateDate;
}
@property ...

В моем FlipsideViewController.m я могу использовать:

@implementation FlipsideViewController

//....

- (IBAction)done:(id)sender{
   currentStatus.text=@"TOTO";
}

Теперь у меня есть второй класс, в котором я пытаюсь обновить текст из первого класса ...

@implementation OthersideViewController

-(void)setStatus{
   [FlipsideViewController currentStatus.text=@"TEST"};
}

Я знаю, что не могу повторно инициализировать контроллер, потому что он уже инициализирован,Я попытался выйти за пределы поля currentStatus, но оно не работает.Я попытался использовать getter и setter, как вы делали бы в Java, и отладчик говорит: нераспознанный селектор

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 25 февраля 2011

Вы пытаетесь установить свойство члена, отправляя сообщение классу, и поэтому оно не работает.Вам понадобится ссылка на экземпляр FlipViewSideController и вызов, такой как:

-(void)setStatus{
   [FlipsideViewControllerInstance currentStatus.text=@"TEST"};
}

Так что вы либо передаете экземпляр FlipViewController в свой метод setStatus в качестве параметра

-(void)setStatusOfViewControllerLabel:(FlipViewController *) FlipsideViewControllerInstance {
   [FlipsideViewControllerInstance currentStatus.text=@"TEST"};
}

или вы сохраняете ссылку на него в своем объекте OthersideViewController.

Отредактировано для ясности.

0 голосов
/ 25 февраля 2011

Если вы объявили свое свойство, а затем синтезировали его, и у вас есть переменная "FlipsideViewController * flipside", то вы можете использовать

[flipside currentStatus].text = @"TEST";

или

[[flipside currentStatus] setText:@"TEST"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...