如何检查String
(例如"apple"
)是否包含我在UITextField
中输入的文字(例如"p"
或"pp"
) 。
如果String
包含UITextField
' text
,我想打印一条消息 - 例如:"apple contains pp"
。
答案 0 :(得分:2)
你可以这样实现
class youClass: NSObject {
var yourTextFieldName = UITextField()
func someMethod() {
var apple = "apple"
if apple.containsString(self.yourTextfieldName.text!) {
print("apple contains \(self.yourTextfieldName.text!)")
}
}
}
答案 1 :(得分:0)
您可以延长String
:
extension String {
@discardableResult
func containsText(of textField: UITextField) -> Bool {
// Precondition
guard let text = textField.text else { return false }
let isContained = self.contains(text)
if isContained { print("\(self) contains \(text)") }
return isContained
}
}
它不仅仅打印结果,还会返回Bool
,表示textField
text
中是否包含String
@discardableResult
。如果您愿意,UITextField
属性允许您忽略返回值,而不会生成编译器警告。
您还可以通过扩展extension UITextField {
@discardableResult
func textIsContained(in target: String) -> Bool {
// Precondition
guard let text = self.text else { return false }
let isContained = target.contains(text)
if isContained { print("\(target) contains \(text)") }
return isContained
}
}
来采取相反的方法:
// Your `UITextField`
let textField = UITextField()
textField.text = "pp"
// String extension:
"apple".containsText(of: textField) // returns `true` and prints "apple contains pp"
// UITextField extension:
textField.textIsContained(in: "apple") // returns `true` and prints "apple contains pp"
您可以按如下方式使用这些方法:
{{1}}