2011-12-11 3 views
2

나는 NSarray에서 내 질문을 섞어 버리는 방법에 대해이 문제로 어려움을 겪고있다. 나는 50 개의 질문이있는 NSarray에서 10 개의 질문을 말하게하고 나머지 40 개가 취해지기 전에 다시 표시 될 수 있도록 그들을 제거하기를 원합니다. 내있는 NSArray는 다음과 같이한다 : 나는 거의 2 주 웹 주위를 검색 한셔플 퀴즈 질문이 있으십니까?

{ 
    NSArray *quizArray = [[NSArray alloc] initWithObjects: 

    @"How much was David Beckham's deal worth upon signing for LA Galaxy?", @"$250m", @"$32.5m", @"$75m", @"$502m", @"3", 

    @"In which year did David beckham sign for LA Galaxy?", @"2006", @"2007", @"2008", @"2009", @"2", 

    @"In 2008, Rice-Eccles Stadium housed which MLS team for their home games?", @"Toronto FC", @"Real Salt Lake", @"Colorado Rapids", @"Houstion Dynamo", @"2", 

    @"Which of these teams, won the first MLS Cup?", @"Chicago Fire", @"Colorado Rapids", @"DC United", @"LA Galaxy", @"3", 

    @"Wich of these players have the record for most goals in a game?", @"Mamadou Diallo", @"Marco Etcheverry", @"Cobi Jones", @"Clint Mathis", @"4", nil]; 

    self.theQuiz = quizArray; 
    [quizArray release]; 
} 

에 일부가 나를 도울 수 있기를 바랍니다! :)

+0

같은 배열에 질문과 답변을 추가하는 대신 함께 그룹화하는 것이 좋습니다. –

+0

@jakob Pipenbring : 샘플 프로젝트를 공유해 주시면 해결책을 얻었습니까? –

답변

0

첫 번째 질문은 여러 개의 답변과 하나의 답변으로 된 수업을 만드는 것입니다.

그런 다음 두 NSMutableArrays, 묻는 질문 에 대한 부탁받지 질문에 대한 하나는있을 것입니다. 질문이 있으면 unasked 배열에서 질문을 삭제하고 요청 된 배열에 추가합니다.

비가시 배열이 비어 있으면 모든 질문을 뒤로 이동하거나 두 배열에 대한 참조를 변경하면됩니다.

개별적인 질문을 이동하지 않고 대신 "설정"한 질문이있는 경우. 한 그룹에 10 문제. 그런 다음 질문 배열을 배열하고 해당 그룹의 모든 질문이 추가되면 전체 그룹을 이동할 수 있습니다. 이 경우 최상위 배열은 변경 가능하지만 그룹 분석은 변경할 수 없으므로 그룹 분석은 변경할 수 없습니다.

+0

멍청한 탓에 미안하지만 자습서 또는 어떻게 보이게되는지 예제 프로젝트를 만들 수 있습니까? 내 프로젝트에 클래스를 추가 할 때 NSMutableArrays가 없습니다 :( – JMIT

1

이전에는 같은 문제가있었습니다. 나는 'MyQuestion'이라는 새로운 클래스를 만들었습니다. 그 속성은 질문에 대한 NSString, 다른 답변에 대한 NSMutableArray 및 태그로서의 int입니다.

그런 다음 'MyQuestion.'의 NSMutableArray가 있습니다. 개체 및이 Array 셔플하는 방법 :

- (NSMutableArray *)shuffleMutableArray:(NSMutableArray *)newMutableArray{ 

BOOL seeded = NO; 
if(!seeded) 
{ 
    srandom(time(NULL)); 
} 

NSUInteger count = [newMutableArray count]; 
for (NSUInteger i = 0; i < count; ++i) { 

    // Select a random element between i and end of array to swap with. 
    int nElements = count - i; 
    int n = (arc4random() % nElements) + i; 
    [newMutableArray exchangeObjectAtIndex:i withObjectAtIndex:n]; 
} 

return newMutableArray; 

} 

은 어느 당신은 모든 개체를 임의 재생하거나 질문있는 NSMutableArray는, 태그의 속성을 사용하여 사용자가 질문에 속하는 답변에 대해 알 수 있습니다. 희망이 도움이됩니다.

+0

멍청한 탓에 미안하지만 튜토리얼이나 예제 프로젝트를 만들 수 있습니까? 프로젝트에 클래스를 추가하면 아니 NSMutableArrays .. : ( – JMIT

+0

물론 NSMutableArrays가 없습니다. 당신은 그들을 수동으로 만들어야 ... 어쩌면 당신이 봐야 [여기] (http://stackoverflow.com/questions/3231351/adding-objects -to-a-nsmutablearray-property) – pmk

관련 문제