2012-04-16 60 views
0

过程中“得分”我有下面的代码,我想用它来检查用户的答案和输出的得分(5分)。我用的答案一个plist,以检查的TextField.text反对。我挣扎的是:如何获得的输出分值为使用这种方法一共?如何增加快速列举

- (IBAction)checkAnswers:(UITextField *)textField 
{ 
NSString *path2 = [[NSBundle mainBundle] pathForResource:@"7A Cells Microscopes 3" ofType:@"plist"]; 
NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:path2]; 

NSString *tester = [NSString stringWithFormat:@"%i", textField.tag]; 

// NSDictionary *secondDict = [dictionary valueForKey:tester]; 

// NSString *answer = [secondDict valueForKey:@"Answer"]; 

// if ([textField.text isEqualToString:[[dictionary valueForKey:tester] valueForKey:@"Answer"]]) { 
//  NSLog(@"YAY"); 
// } 

NSArray *allTextFields = [[NSArray alloc] initWithObjects:eyepiece, objectiveLens, focussingKnobs, stage, mirror, nil]; 


for (textField in allTextFields) { 
       int x = 0; 

    if ([textField.text isEqualToString:[[dictionary valueForKey:tester] valueForKey:@"Answer"]]) { 
     x++; 
     NSLog(@"%i", x); 
    } 

} 

任何帮助将不胜感激! 非常感谢。

+0

尝试宣告你上面的for循环X。然后在for循环结束后它将在范围内。 – 2012-04-16 20:33:14

回答

3

假设你的代码的其余部分是好的,只是移动INT X = 0; for循环之外。你编码的方式x在每个循环中重置为0 ...所以它永远不会计数。

+0

排序,很高兴为一个简单的解决方案!谢谢! – 2012-04-18 05:15:21