我遇到问题是一个非常基本的情况。 从今天早上开始,我一直在阅读相当多的内容,但无法将其付诸实践。
我正在从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中,我使用惰性声明来初始化它,但它返回null。
- (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;
有人能帮助我吗?