如果我的文本字段需要 11 个字符,我需要删除第一个字符,然后将其作为参数传递。我尝试了这段代码:
var dropFirst: String?
if emailPhoneTextField.text?.count == 11 {
dropFirst = emailPhoneTextField.text?.dropFirst()
emailPhoneTextField.text = dropFirst
}
我收到此错误:
无法分配“String.SubSequence”类型的值? (又名“可选”)输入“字符串?”
dropFirst 返回
SubSequence
,因此您不能将其直接分配给接受可选字符串 (text
) 的文本字段的 String?
属性,因此替换
dropFirst = emailPhoneTextField.text?.dropFirst()
与
dropFirst = String(emailPhoneTextField.text!.dropFirst())
创建字符串扩展以将
SubSequence
分配给 String
属性。
extension String {
mutating func removeFirstChar() {
self = String(self.dropFirst())
}
}