Ios Swift-检查是否至少填写了三个文本字段
我需要使用Swift检查我的表单是否至少填写了3个文本字段,请参见我的表单示例Ios Swift-检查是否至少填写了三个文本字段,ios,swift,Ios,Swift,我需要使用Swift检查我的表单是否至少填写了3个文本字段,请参见我的表单示例 1: name 1 surname 1 2: name 2 surname 2 3: name 3 surname 3 4: name 4 surname 4 5: name 5 surname 5 请注意,必须连接字段,例如,如果输入名称4,则必须同时输入姓氏4。这应该可以完成此工作 var name1: UITextField! var surname1: UITextField! var name2:
1: name 1 surname 1
2: name 2 surname 2
3: name 3 surname 3
4: name 4 surname 4
5: name 5 surname 5
请注意,必须连接字段,例如,如果输入名称4,则必须同时输入姓氏4。这应该可以完成此工作
var name1: UITextField!
var surname1: UITextField!
var name2: UITextField!
var surname2: UITextField!
var name3: UITextField!
var surname3: UITextField!
var name4: UITextField!
var surname4: UITextField!
var name5: UITextField!
var surname5: UITextField!
let list = [(name1, surname1), (name2, surname2), (name3, surname3), (name4, surname4), (name5, surname5)]
let populatedPairs = list.filter {
$0.0?.text?.characters.count > 0 && $0.1?.text?.characters.count > 0
}
if populatedPairs.count > 2 {
// your stuff goes here
}
更新
您还可以定义isValid
函数
例如,如果您希望字段中的文本至少包含3个字符,则可以
func isValid(name:UITextField?, surname:UITextField?) -> Bool {
return name?.text?.characters.count > 2 && surname?.text?.characters.count > 2
}
可以在函数体中随意添加自定义逻辑
这就是将函数传递给过滤器方法的方式
let validPairs = list.filter(isValid)
这里有一个更简单的解决方案。我会将姓氏1文本字段称为s1
,将姓氏1文本字段称为n1
等等(因为我很懒…)
其中trim
定义为
extension String {
func trim(str: String) -> String {
return str.stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: " \t\n\r\0"))
}
}
这种方法的好处:
- 最重要的是,它起作用了
- 它直截了当,易于理解
- 它处理用户只输入空格的情况
您尝试过什么?这是一项非常基本的任务,只包括直接编码。如果文本是”
,该怎么办p@appzYourLife:有没有办法对填写的字段进行其他检查?例如,检查字段是否有一定的长度。回答得好,有没有办法对填写的字段进行其他检查?例如,检查字段是否有一定长度。您的意思是检查具有一定长度的字段文本?只需使用n1.text!。characters.count
获取长度,并使用if语句进行检查@Mono.WTF
extension String {
func trim(str: String) -> String {
return str.stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: " \t\n\r\0"))
}
}