私はこれでかなりの数日間これに苦労しました。私のアプリには画像のラベルを表すためのuitextfieldsを持つ図があります。私は辞書(回答)に対してユーザー入力をチェックし、正しければスコアを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];
}
}
問題は答えがある限り1が正しいと、間違ったテキストフィールドにある場合でも、彼らはすべての種類の恥ずかしいです右、として表示されますということです! ご協力いただければ幸いです。
"theTextFieldTag"とは何ですか?ループを通過するたびに辞書の同じ値をチェックしているようです。顕微鏡の辞書(またはその一部)を投稿すると、構造を見ることができます。 – rdelmar
もう一度@rdelmarありがとう、あなたは私を救済し続ける! TheTextFieldTagは、 '現在編集中の'テキストフィールドのタグの文字列表現です。私は0から4まで(5つのテキストフィールドのために)、辞書は0から4までの初期キーとそれから照合するための "答え"キーで設定されています。問題はランダムな「間違った」答えに問題がないので、テキストフィールドのすべてに対して可能な正解すべてを循環させているということです。 –
明確にするために、私が「犬」を入れると、それは印をつけませんが、すべてのボックスに正しい「接眼レンズ」を置くと正しいと言います。あるいは、正しい答えの「ステージング」または他の何か。 1つが正しい限り、それは他の人に正しいものをマークします... –