我想从两个标签中的一个返回随机文本。我只能找到返回随机数的答案。请参阅下面的图片,了解我正在尝试做的事情。
有什么想法吗?谢谢!
我的文字如何运作:
// FIRST VIEW
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "segueTest") {
var svc = segue.destinationViewController as! ResultViewController;
svc.userEntered = askUser.text
svc.textOne = userTextOne.text
svc.textTwo = userTextTwo.text
}
}
// SECOND VIEW
var userEntered:String!
var textOne:String!
var textTwo:String!
var theResult: [String!] {
return [textOne.text, textTwo.text]
}
override func viewDidLoad() {
super.viewDidLoad()
myUser.text = userEntered
elementOne.text = textOne
elementTwo.text = textOne
}
答案 0 :(得分:1)
使用标签标题制作数组。然后制作随机数生成器并返回位于随机数字点上的数组中的标题。
答案 1 :(得分:0)
首先,您希望引用用户在第一个视图控制器上键入的所有内容。我假设会有很多字符串。
因此,假设您有一个用户在VC 1上输入的所有内容的数组。
var wordsOrSomethingArray = ["This","that","who","what","why??","ok"]
现在你将使用下面的方便扩展(或没有它来生成随机数)。
let randomOne = wordsOrSomethingArray[Int.randomNumber(0, wordsOrSomethingArray.count-1)]
let randomTwo = wordsOrSomethingArray[Int.randomNumber(0, wordsOrSomethingArray.count-1)]
这是我喜欢用于随机Int的方便扩展。由Int.randomNumber(....)调用确保你把它放在你的课外。
extension Int {
static func randomNumber(min:Int,_ max:Int)->Int {
return min + Int(arc4random_uniform(UInt32(max - min + 1)))
}
}