Swift 如何验证用户对游戏的输入,而不必按';提交';每次按下按钮
我有任意整数数组=[3,12,9] 用户需要输入每个数字。如果他们写入正确的数字,文本字段将重置,并键入下一个数字。没有点击提交按钮 到目前为止,这个功能还不起作用Swift 如何验证用户对游戏的输入,而不必按';提交';每次按下按钮,swift,Swift,我有任意整数数组=[3,12,9] 用户需要输入每个数字。如果他们写入正确的数字,文本字段将重置,并键入下一个数字。没有点击提交按钮 到目前为止,这个功能还不起作用 func UserInput(textView:UITextView!) { if(input == nil ) { return; } var inputs = input!.text.toInt(); var x = 0 while (x < numbe
func UserInput(textView:UITextView!)
{
if(input == nil )
{
return;
}
var inputs = input!.text.toInt();
var x = 0
while (x < numbers.count){
if( inputs != nil)
{
if(inputs! == numbers[x] )
{
println("Correct!");
input.text = ""
x++
//println(x)
}
else
{
println("Incorrect!");
}
}
}
}
func用户输入(textView:UITextView!)
{
如果(输入=nil)
{
返回;
}
var inputs=input!.text.toInt();
变量x=0
而(x
您可以从文本字段中使用eventediting changed
。有了它,您可以通过以下方式从用户处获得实时输入:
import UIKit
class ViewController: UIViewController {
var numbers = [3,12,9]
@IBOutlet weak var input: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
input.addTarget(self, action:"edited", forControlEvents:UIControlEvents.EditingChanged)
}
func edited() {
for item in numbers {
if input.text == "\(item)" {
println("correct")
//I set here timer so if user enter correct input then it will remove text after some time
var timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: Selector("resetText"), userInfo: nil, repeats: false)
} else {
println("incorrect")
}
}
}
//This method will call after some time use if user enter correct input
func resetText(){
input.text = ""
}
}
希望能有所帮助。尝试实现委托方法可选func textviewdendediting(u textView:UITextView)抱歉,我忘了。控制台记录了无限多的“不正确!”因此我对您的解决方案进行了研究。问题是;如果他们输入了错误的号码怎么办?因为它每次都在整个数组中循环,所以一个如何循环呢。如果他们搞错了,就让游戏结束。每次用户在文本字段中输入任何内容时,你都必须检查。明白了。谢谢你简洁的回答很高兴能帮助你……)