Запрос члена UiTextField в чем-то не структура - PullRequest
1 голос
/ 19 июля 2011

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

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++;
    }
}

1 Ответ

1 голос
/ 19 июля 2011

Возможно, вы имели в виду:

NSLog(@"%@", currQ.inputAnswer.text);

Сообщение об ошибке:

ошибка: запрос элемента inputAnswer в чем-то, не являющемся структурой или объединением

означает, что компилятор не может распознать currQ как структуру или объединение (или объект Objective-C).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...