Ios 如何临时删除swift数组成员?
我对斯威夫特有点陌生(如果我的问题有点不着边际,那么很抱歉),但是 到目前为止,我的程序在数组中获取字符串并在屏幕上显示它们(Xcode) 我想实现一种机制,使用户不能连续两次获得相同的字符串(当他/她按下按钮时) 我的想法是查看随机生成的字符串是否等于标签上已经显示的字符串(如果是真的),从数组中删除生成的字符串,运行函数以显示数组中的随机字符串,然后在显示随机事实后再添加相同的字符串 事实数组(in-FactModel.swift): 获取的函数返回一个事实和该事实的数组索引(In FactModel.swift): 到目前为止,我的ViewController代码:Ios 如何临时删除swift数组成员?,ios,arrays,swift,swift2,swift2.1,Ios,Arrays,Swift,Swift2,Swift2.1,我对斯威夫特有点陌生(如果我的问题有点不着边际,那么很抱歉),但是 到目前为止,我的程序在数组中获取字符串并在屏幕上显示它们(Xcode) 我想实现一种机制,使用户不能连续两次获得相同的字符串(当他/她按下按钮时) 我的想法是查看随机生成的字符串是否等于标签上已经显示的字符串(如果是真的),从数组中删除生成的字符串,运行函数以显示数组中的随机字符串,然后在显示随机事实后再添加相同的字符串 事实数组(in-FactModel.swift): 获取的函数返回一个事实和该事实的数组索引(In Fact
var mutableFactModel = FactModel()
@IBOutlet weak var FunFactButton: UIButton!
@IBOutlet weak var FunFact: UILabel!
@IBAction func ShowFunFact(sender: AnyObject) {
let localRandomFact = mutableFactModel.getRandomFact().0
if localRandomFact == FunFact.text {
mutableFactModel.facts.removeAtIndex(mutableFactModel.getRandomFact().1)
FunFact.text = mutableFactModel.getRandomFact().0
mutableFactModel.facts.append(mutableFactModel.getRandomFact().0)
} else {
FunFact.text = mutableFactModel.getRandomFact().0
}
}
它没有按照我想要的方式工作,有什么想法可以让它工作,或者是一种全新的方式(不是一行两次得到相同的字符串)?洗牌你的
事实数组。每次用户按下按钮时,取下第一个元素,然后将其移除。洗牌数组类似于按随机顺序排序:
var facts = [
"Ants stretch when they wake up in the morning.",
"Ostriches can run faster than horses.",
"Olympic gold medals are actually made mostly of silver.",
"etc..."
].sort { f in arc4random_uniform(1000) % 2 == 0 }
var mutableFactModel = FactModel()
@IBOutlet weak var FunFactButton: UIButton!
@IBOutlet weak var FunFact: UILabel!
@IBAction func ShowFunFact(sender: AnyObject) {
let localRandomFact = mutableFactModel.getRandomFact().0
if localRandomFact == FunFact.text {
mutableFactModel.facts.removeAtIndex(mutableFactModel.getRandomFact().1)
FunFact.text = mutableFactModel.getRandomFact().0
mutableFactModel.facts.append(mutableFactModel.getRandomFact().0)
} else {
FunFact.text = mutableFactModel.getRandomFact().0
}
}
var facts = [
"Ants stretch when they wake up in the morning.",
"Ostriches can run faster than horses.",
"Olympic gold medals are actually made mostly of silver.",
"etc..."
].sort { f in arc4random_uniform(1000) % 2 == 0 }