У меня проблема, это очень простая ситуация.Я много читал об этом с сегодняшнего утра, но не смог заставить его работать.
Я беру имя из 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;
Может кто-нибудь помочь мне, пожалуйста?