我有一个从plist中提取的testWords数组/字典。我想随机地将它们洗牌,取一片2并将其附加到另一个单词数组。出于某种原因,我无法将testWords附加到单词数组中。我还需要随机shuffle的一个版本,选择,追加iOS8。
var words: [NSArray]
var testWords: [NSArray]!
let fileName = "level\(levelNumber).plist"
let levelPath = "\(NSBundle.mainBundle().resourcePath!)/\(fileName)"
let levelDictionary: NSDictionary? = NSDictionary(contentsOfFile: levelPath)
testWords = levelDictionary!["words"] as! [NSArray]
let shuffledTestWords = GKRandomSource.sharedRandom().arrayByShufflingObjectsInArray(testWords)
print("testWords after shuffling is \(shuffledTestWords)")
let chosenWords = Array(shuffledTestWords.prefix(2))
words.appendContentsOf(Array(chosenWords))
数组在控制台中显示如下:
testWords after shuffling is [(
"drinc drink",
drink,
"Which one is right?",
"",
""
), (
"bank banc",
bank,
"Spell this word ending in ' nk '",
"",
""
), (
"bunk bunc",
bunk,
"Spell this word ending in ' nk '",
"",
""
)]
关于如何追加这样一个阵列的任何想法都非常感谢!现在回答。
答案 0 :(得分:0)
首先,prefix将返回一个ArraySlice,它不是一个数组。
其次,append
方法向数组添加一个新元素。
所以在你的情况下你可以这样做:words.appendContentsOf(Array(chosenWords))
。
appendContentsOf
并Array()
将根据您的ArraySlice
创建一个数组。