比较3个数组。测验应用。如何首先显示错误的答案?

时间:2012-02-20 17:04:34

标签: objective-c nsmutablearray nsarray

我有三个阵列:

NSArray *Q = [1+1, 2+2, 3+3, 4+4, 5+5]; 
NSArray *A = [2, 4, 6, 8, 10]; 
NSArray *UserAnswers = [2, 4, 10, 17, 26]; 

在tableview中我想显示结果,但是在正确的答案之前必须显示错误的答案(在这种情况下为10,17,26)(在tableView的顶部)。

我在这里发布,因为我需要一个干净而智能的解决方案来解决这个问题。有任何想法吗?

这是肮脏的方式,任何人都知道更容易/更清洁的方式?

 NSMutableArray *wrongs = [NSMutableArray new];
NSMutableArray *rights = [NSMutableArray new];
NSMutableArray *dataSource = [NSMutableArray new]; 

for (int x = 0; x<questions.count; x++) {
    NSDictionary *temp = [[NSDictionary alloc]initWithObjectsAndKeys:[questions objectAtIndex:x],@"q",[answers objectAtIndex:x],@"a",[userAnswers objectAtIndex:x], "ua", nil];

    if ([[userAnswers objectAtIndex:x]isEqual:[answers objectAtIndex:x]]) 
        [rights addObject:temp]; 
    else
        [wrongs addObject:temp]; 
}

[dataSource addObjectsFromArray:wrongs]; 
[dataSource addObjectsFromArray:rights]; 

[wrongs release]; 
[rights release]; 

1 个答案:

答案 0 :(得分:0)

来自评论

你的方式看起来相当干净;也许在用户回答时添加正​​确数组的答案?