如何从文本字段值中删除第一个字符?

问题描述 投票:0回答:2

如果我的文本字段需要 11 个字符,我需要删除第一个字符,然后将其作为参数传递。我尝试了这段代码:

var dropFirst: String?
if emailPhoneTextField.text?.count == 11 {
    dropFirst = emailPhoneTextField.text?.dropFirst()
    emailPhoneTextField.text = dropFirst 
}

我收到此错误:

无法分配“String.SubSequence”类型的值? (又名“可选”)输入“字符串?”

ios swift string uitextfield
2个回答
1
投票

dropFirst 返回

SubSequence
,因此您不能将其直接分配给接受可选字符串 (
text
) 的文本字段的
String?
属性,因此替换

dropFirst = emailPhoneTextField.text?.dropFirst()

dropFirst = String(emailPhoneTextField.text!.dropFirst())

0
投票

创建字符串扩展以将

SubSequence
分配给
String
属性。

extension String {
    mutating func removeFirstChar() {
      self = String(self.dropFirst())
    } 
}
© www.soinside.com 2019 - 2024. All rights reserved.