iOS - Передача переменной в контроллер просмотра

У меня есть представление с контроллером представления, и когда я показываю это представление на экране, я хочу иметь возможность передавать ему переменные из вызывающего класса, чтобы я мог установить значения меток и т. Д.

Сначала я попытался создать свойство для одной из меток и вызвать его из вызывающего класса. Например:

SetTeamsViewController *vc = [[SetTeamsViewController alloc] init];
vc.myLabel.text = self.teamCount;
[self presentModalViewController:vc animated:YES];
[vc release];

Однако это не сработало. Поэтому я попытался создать удобный инициализатор.

SetTeamsViewController *vc = [[SetTeamsViewController alloc] initWithTeamCount:self.teamCount];

А потом вSetTeamsViewController я имел

- (id)initWithTeamCount:(int)teamCount {
    self = [super initWithNibName:nil bundle:nil];
    if (self) {
        // Custom initialization
        self.teamCountLabel.text = [NSString stringWithFormat:@"%d",teamCount];
    }
    return self;
}

Однако это также не сработало. Он просто загружает любое значение, которое я дал метке в nib-файле. Я засорял кодNSLog()и он передает правильные значения переменных, он просто не устанавливает метку.

Любая помощь будет принята с благодарностью.

РЕДАКТИРОВАТЬ: Я только что попытался установить переменную экземпляра в моем назначенном инициализаторе, а затем установить метку в viewDidLoad, и это работает! Это лучший способ сделать это?

Кроме того, при отклонении этого модального контроллера представления я также обновляю текст кнопки в представлении вызывающего ViewController. Однако, если я снова нажму эту кнопку (чтобы снова отобразить модальный вид), пока другой вид анимируется на экране, кнопка временно снова получит свое первоначальное значение (из пера). Кто-нибудь знает, почему это?

Ответы на вопрос(8)

Ваш ответ на вопрос