Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从pList文件中随机显示一定数量的问题_Ios_Swift_Plist - Fatal编程技术网

Ios 从pList文件中随机显示一定数量的问题

Ios 从pList文件中随机显示一定数量的问题,ios,swift,plist,Ios,Swift,Plist,我正在创建一个简单的测验应用程序。我在pList文件中存储了总共300个问题,并随机一个一个地显示这些问题 现在,你如何从上述pList文件中只得到一定数量的问题?例如,在我的300个问题pList文件中,我一次使用了所有问题。然而,有一种“练习模式”,我只需要从300个问题的pList文件中随机抽取100个问题。我该怎么做 我看过一些参考资料,但它们都在Objective-C中。您可以在此基础上使用shuffle extension来洗牌数组,并使用数组的前缀(n)方法从数组中选择所需的元素:

我正在创建一个简单的测验应用程序。我在pList文件中存储了总共300个问题,并随机一个一个地显示这些问题

现在,你如何从上述pList文件中只得到一定数量的问题?例如,在我的300个问题pList文件中,我一次使用了所有问题。然而,有一种“练习模式”,我只需要从300个问题的pList文件中随机抽取100个问题。我该怎么做

我看过一些参考资料,但它们都在Objective-C中。

您可以在此基础上使用shuffle extension来洗牌数组,并使用数组的前缀(n)方法从数组中选择所需的元素:

测试:

let questions = Array(1...300).map{"Question \($0)"}
let shuffledQuestions = questions.shuffled
let firstOneHundred = shuffledQuestions.prefix(100)   // ["Question 163", "Question 77", "Question 262", "Question 292", "Question 229", "Question 199", "Question 93", "Question 35", "Question 19", "Question 65", "Question 107", "Question 142", "Question 174", "Question 172", "Question 240", "Question 131", "Question 274", "Question 252", "Question 214", "Question 285", "Question 185", "Question 219", "Question 51", "Question 267", "Question 170", "Question 6", "Question 55", "Question 67", "Question 115", "Question 148", "Question 137", "Question 139", "Question 116", "Question 259", "Question 24", "Question 283", "Question 273", "Question 147", "Question 17", "Question 16", "Question 97", "Question 2", "Question 74", "Question 215", "Question 184", "Question 84", "Question 247", "Question 73", "Question 37", "Question 7", "Question 226", "Question 1", "Question 173", "Question 238", "Question 46", "Question 108", "Question 114", "Question 119", "Question 251", "Question 197", "Question 159", "Question 72", "Question 70", "Question 150", "Question 289", "Question 143", "Question 141", "Question 47", "Question 69", "Question 88", "Question 244", "Question 189", "Question 129", "Question 266", "Question 221", "Question 248", "Question 92", "Question 236", "Question 33", "Question 175", "Question 133", "Question 210", "Question 228", "Question 213", "Question 64", "Question 223", "Question 198", "Question 202", "Question 68", "Question 291", "Question 230", "Question 270", "Question 103", "Question 83", "Question 271", "Question 62", "Question 109", "Question 121", "Question 10", "Question 232"]

请包含您的代码,以便我们了解您在这个问题上的处境,以便我们能够更清楚地指导您。只需洗牌您的阵列并获得阵列片前缀(n)@leodbus如何使用“阵列片前缀(n)”?
[“abc”、“def”、“ghi”、“jkl”]。前缀(2)
@LeoDabus我使用扩展questionArray.shuffle()洗牌我的数组,如何实现前缀(n)?对不起,我不太明白
let questions = Array(1...300).map{"Question \($0)"}
let shuffledQuestions = questions.shuffled
let firstOneHundred = shuffledQuestions.prefix(100)   // ["Question 163", "Question 77", "Question 262", "Question 292", "Question 229", "Question 199", "Question 93", "Question 35", "Question 19", "Question 65", "Question 107", "Question 142", "Question 174", "Question 172", "Question 240", "Question 131", "Question 274", "Question 252", "Question 214", "Question 285", "Question 185", "Question 219", "Question 51", "Question 267", "Question 170", "Question 6", "Question 55", "Question 67", "Question 115", "Question 148", "Question 137", "Question 139", "Question 116", "Question 259", "Question 24", "Question 283", "Question 273", "Question 147", "Question 17", "Question 16", "Question 97", "Question 2", "Question 74", "Question 215", "Question 184", "Question 84", "Question 247", "Question 73", "Question 37", "Question 7", "Question 226", "Question 1", "Question 173", "Question 238", "Question 46", "Question 108", "Question 114", "Question 119", "Question 251", "Question 197", "Question 159", "Question 72", "Question 70", "Question 150", "Question 289", "Question 143", "Question 141", "Question 47", "Question 69", "Question 88", "Question 244", "Question 189", "Question 129", "Question 266", "Question 221", "Question 248", "Question 92", "Question 236", "Question 33", "Question 175", "Question 133", "Question 210", "Question 228", "Question 213", "Question 64", "Question 223", "Question 198", "Question 202", "Question 68", "Question 291", "Question 230", "Question 270", "Question 103", "Question 83", "Question 271", "Question 62", "Question 109", "Question 121", "Question 10", "Question 232"]