我正在尝试制作一个学习阿拉伯语的配对游戏。我已经从 3 个 plist 中填充了 3 个不同的数组,并且我正在使用 UIPicker 来显示信息。在数组的填充和向 UIPickerView 的传输之间,我对数组的元素进行了洗牌。不幸的是,这导致我忘记了数组中项目的初始索引。我需要能够调用每个元素的初始索引以检查匹配项,因为 plist 中的每个元素都以相同的顺序列出(使用不同的语言)。
我使用以下洗牌算法:
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];
有什么建议么?任何帮助都感激不尽 :]