Я получаю эту ошибку, когда пытаюсь получить доступ к значению текстового поля моего представления:
error: request for member 'inputAnswer' in something not a structure or union
UITextField объявлен следующим образом:
@interface TextInputQuestionViewController : UIViewController {
Question *question;
IBOutlet UILabel *questionTitle;
IBOutlet UILabel *inputLabel;
IBOutlet UITextField *inputAnswer;
}
@property (nonatomic, retain) UILabel *questionTitle;
@property (nonatomic, retain) UILabel *inputLabel;
@property (nonatomic, retain) Question *question;
@property (nonatomic, retain) UITextField *inputAnswer;
Я пытаюсь получить доступ ктекстовое поле следующим образом (как оно вложено):
NSLog(@"%@", currQ.question.inputAnswer.text);
Что я делаю не так?
Обновление: @sergio Вы правы, я имел в виду это, но все равно выдает эту ошибку.Я уверен, что он тоже указывает на правильное место ...
//pushes new view onto navigation controller stack
-(void) switchViews:(id)sender{
if(currQNum < [questionArray count] - 1){
if(currQNum > 0){
Answer* ans = currQ.question.answer;
ans.questionId = currQ.question.qId;
ans.entryId = @"1";//temporary;
//if else for different input types
NSString* qt = currQ.question.qType;
if([qt isEqualToString:@"Slider"]){
ans.answer = currQ.sliderLabel.text;
}else if([qt isEqualToString:@"Option"]){
}else if([qt isEqualToString:@"TextInput"]){
NSLog(@"%@", currQ.inputAnswer.text); //PROBLEM
//ans.answer = currQ.inputAnswer.text;
}else if([qt isEqualToString:@"ImagePicker"]){
}else{
}
[answerArray addObject: ans];
[ans release];
}
[self startQuestion:currQNum isLast:FALSE];
currQNum++;
}else{
Answer* ans = currQ.question.answer;
ans.questionId = currQ.question.qId;
ans.answer = currQ.sliderLabel.text;
ans.entryId = @"1";//temporary;
[answerArray addObject: ans];
[ans release];
//store data temporarily - section finished
[self startQuestion:currQNum isLast:TRUE];
currQNum++;
}
}