저는 지금 며칠 동안이 문제로 어려움을 겪었습니다. 내 응용 프로그램에는 그림의 레이블을 나타내는 uitextfield가있는 다이어그램이 있습니다. 사전 (답변)에 대한 사용자 입력을 확인하고 올바른 경우 점수를 1 씩 증가시키고 싶습니다. textfield.text 쿼리를 각각 '하드 코딩'하여 나는 가능한 한 더 좋고 재사용 가능한 방법을 원할 것인가? 지금까지이 시도했습니다텍스트 필드를 통해 사용자 입력 확인
문제는 답이 잘못된 텍스트 필드에있는 경우에도이 한 일이 올바른지, 그들은 모든 종류의 당황하는 등 바로 표시하는 것입니다- (IBAction)checkAnswers:(UITextField *)textField
{
// array for each textfield
allTextfields = [[NSArray alloc] initWithObjects:eyepiece, objectiveLenses, focussingKnobs, stage, mirror, nil];
// array for each UIImageView
allTicks = [[NSArray alloc] initWithObjects:eyepieceTick, objectiveTick, focussingTick, stageTick, mirrorTick, nil];
UIImage *image = [UIImage imageNamed:@"Tick.png"];
for (textField in allTextfields) {
if ([textField.text isEqualToString:[[microscopeBrain.microscopeDictionary valueForKey:theTextfieldTag] valueForKey:@"Answer"]]) {
[[allTicks objectAtIndex:textField.tag] setImage:image];
x++;
textField.enabled = NO;
NSLog(@"%@", microscopeBrain.microscopeDictionary);
// NSLog(@"%@", [[microscopeBrain.microscopeDictionary valueForKey:theTextfieldTag] valueForKey:@"Answer"]);
}
finalMicroscopeScore = [[NSString alloc] initWithFormat:@"%i", x];
microscopeScoreLabel.text = [[NSString alloc] initWithFormat:@"%i", x];
}
}
! 도움이 될 것입니다.
"theTextFieldTag"란 무엇입니까? 루프를 통해 매번 같은 값을 사전에 확인하는 것처럼 보입니다. 그것은 우리가 구조를 볼 수 있도록 현미경 사전 (또는 그것의 조각)을 게시한다면 도움이 될 것입니다. – rdelmar
다시 한번 감사드립니다. @rdelmar, 계속 나를 구제 해주세요! TheTextFieldTag는 '현재 편집 중'인 텍스트 필드의 태그를 나타내는 문자열입니다. 0에서 4까지 (5 개의 텍스트 필드 용) 사전이 0에서 4까지의 초기 키로 설정되고 그 다음에 "응답"키가 설정되어 검사됩니다. 문제는 랜덤 '잘못된'답변에 문제가 없기 때문에 모든 텍스트 필드에 대해 가능한 모든 정답을 순환한다는 점입니다. –
"개"를 넣으면 명확하게하기 위해 표시가되지 않지만 모든 접안부에 "접안 렌즈"를 넣으면 올바른 것이라고 말할 것입니다. 또는 "단계"또는 정답 중 하나를 선택하십시오. 한 사람이 옳다면, 다른 사람을 올바르게 표시 할 것입니다 ... –