Я пытаюсь создать подходящую игру для изучения арабского языка. Я заполнил 3 разных массива из 3 списков, и я использую UIPicker для отображения информации. Между заполнением массива и передачей в UIPickerView я перетасовал элементы массива. К сожалению, это приводит к тому, что я теряю начальный индекс элементов в массиве. Мне нужно иметь возможность вспомнить начальный индекс каждого элемента, чтобы проверить совпадение, поскольку каждый элемент в списках перечислены в одном и том же порядке (на разных языках).
Я использую следующий алгоритм перемешивания:
int randomSort(id obj1, id obj2, void *context ) {
// returns random number -1 0 1
return (arc4random()%18-9);
}
- (void)shuffle {
// call custom sort function
[list sortUsingFunction:randomSort context:nil];
[list2 sortUsingFunction:randomSort context:nil];
[list3 sortUsingFunction:randomSort context:nil];
}
и следующая инициализация:
NSString *arabicword = [[NSBundle mainBundle] pathForResource:@"arabicword" ofType:@"plist"];
NSString *englishword = [[NSBundle mainBundle] pathForResource:@"englishword" ofType:@"plist"];
NSString *pronunciation = [[NSBundle mainBundle] pathForResource:@"pronunciation" ofType:@"plist"];
list = [[NSMutableArray alloc] initWithContentsOfFile:arabicword];
list2 = [[NSMutableArray alloc] initWithContentsOfFile:englishword];
list3 = [[NSMutableArray alloc] initWithContentsOfFile:pronunciation];
есть предложения? любая помощь будет высоко ценится:]