Swift 敏捷的策划者
我试图用swift做一个策划者,但我不能用索引来检查我是否找到了一个代码的数字来获得随机数的每个数字。 我试过了,但不管用Swift 敏捷的策划者,swift,Swift,我试图用swift做一个策划者,但我不能用索引来检查我是否找到了一个代码的数字来获得随机数的每个数字。 我试过了,但不管用 import UIKit class ViewController: UIViewController { @IBOutlet weak var textField: UITextField! @IBOutlet weak var textView: UITextView! var code = String(arc4random_unifor
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var textView: UITextView!
var code = String(arc4random_uniform(9000) + 1000)
override func viewDidLoad() {
super.viewDidLoad()
println(code)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
self.view.endEditing(true)
}
@IBAction func sendDidPressed(sender: AnyObject) {
var find = 0
for (var i = 0; i < 4; i++) {
var number = textField.text
var numberInCode = map(code) { String($0) }
if contains(numberInCode, String(find)) {
find++
}
self.textView.text = "\(self.textField.text): Bien placées: \(String(find))"
}
}
@IBAction func resetCode(sender: AnyObject) {
}
}
导入UIKit
类ViewController:UIViewController{
@IBOutlet弱var textField:UITextField!
@IBOutlet弱var textView:UITextView!
var代码=字符串(arc4random_统一(9000)+1000)
重写func viewDidLoad(){
super.viewDidLoad()
println(代码)
}
重写函数didReceiveMemoryWarning(){
超级。我收到了记忆警告()
//处置所有可以重新创建的资源。
}
覆盖func TOUCESBERTED(触摸:NSSet,withEvent事件:UIEvent){
self.view.endEditing(true)
}
@iAction func sendDidPressed(发件人:AnyObject){
var find=0
对于(变量i=0;i<4;i++){
变量编号=textField.text
var numberInCode=map(code){String($0)}
如果包含(数字代码、字符串(查找)){
发现++
}
self.textView.text=“\(self.textField.text):Bien placées:\(字符串(查找))”
}
}
@iAction func重置代码(发件人:AnyObject){
}
}
如果您试图分别获取随机数的每个数字,我需要帮助:
class ViewController: UIViewController {
var code = [String]()
let textFromField = "1" // Text from your textField
override func viewDidLoad() {
let number = String(arc4random_uniform(9000) + 1000)
code = map(number) { String($0) }
}
@IBAction func sendDidPressed(sender: AnyObject) {
for index in 0..<code.count {
if textFromField == code[index] {
println("Match found at index: \(index + 1)")
}
}
}
}
类ViewController:UIViewController{
变量代码=[String]()
让textFromField=“1”/textFromField中的文本
重写func viewDidLoad(){
设数=字符串(arc4random_统一(9000)+1000)
代码=映射(数字){String($0)}
}
@iAction func sendDidPressed(发件人:AnyObject){
对于0..中的索引,将随机数转换为字符数组
var code = (arc4random_uniform() % 9000 + 1000) //e.g. 1245
var codeAsArray = Array(String(code)) //e.g. [1, 2, 4, 5]
for (var i = 0; i < 4; i++) {
// var number = textField.text
println(codeAsArray[i]) //is a swift Character
}
var code=(arc4random_uniform()%9000+1000)//例如1245
var codeAsArray=Array(字符串(代码))//例如[1,2,4,5]
对于(变量i=0;i<4;i++){
//变量编号=textField.text
println(codeAsArray[i])//是一个快速字符
}
您在代码中尝试的是什么?这没有多大意义。似乎他正在尝试分别获取4位随机数的每一位。更改答案后,这将得到您想要的结果。请明确“不起作用”的含义你到底期望发生什么?到底发生了什么?我不完全确定你想要什么,但你应该能够通过这个例子得到你所需要的。你能解释一下你做了什么吗?首先,你生成一个随机数,将数字转换成String
并存储在code
map()
将code
转换为String
类型的数组,并将其存储在分隔的中。现在您有了一个数组,可以尝试使用contains()
检查数组是否包含find
。现在它将遍历“number”数组,并检查文本字段的“number”是否与其中任何一个匹配。