Использование переменной NSString из Class1 в качестве UILabel в Class 2 - PullRequest
1 голос
/ 13 марта 2012

У меня проблема, это очень простая ситуация.Я много читал об этом с сегодняшнего утра, но не смог заставить его работать.

Я беру имя из UIPicker и хочу показать это имя в другом представлении, в основном используюодна переменная из одного класса в другом классе.

Вот основное объявление на ViewController.h

@interface ViewController : UIViewController
{
    IBOutlet UIPickerView *pickerAlunos;
    NSMutableArray *arrayAlunos;
    NSString *alunoAtual;
}

- (IBAction)botaoSelecionado:(UIButton *)sender;
- (void)definaAluno:(NSString*)oNome;

@property (nonatomic, retain) IBOutlet UIPickerView *pickerAlunos;
@property (nonatomic, retain) NSMutableArray *arrayAlunos;
@property (nonatomic, retain) NSString *alunoAtual;

@end

и на ViewController.m Я определил его с помощью definaAluno:

- (void)definaAluno:(NSString*)oNome {
    oNome = self.alunoAtual;
}

- (IBAction)botaoSelecionado:(UIButton *)sender; {
    NSInteger linha = [pickerAlunos selectedRowInComponent:0];
    NSString *selecionado = [arrayAlunos objectAtIndex:linha];
    self.alunoAtual = selecionado;
}

Итак, в другом классе ELTDDimensions.m я использую ленивое объявление, чтобы инициализировать его, но оно возвращает ноль.

- (ViewController *)student {
    if(!student) {
        student = [[ViewController alloc] init];
    }
    return student;
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.studentLabel.text = self.student.alunoAtual;        
}

и эта последняя строка получает нулевое значение.studentLabel и student должным образом объявлены на ELTDimension.h как

    ViewController *student;
    IBOutlet UILabel *studentLabel;

Может кто-нибудь помочь мне, пожалуйста?

...