从中可以看出。标题,我正在尝试将文本字段的内容转换为变量。我用过这段代码:
@IBOutlet weak var TextField: UITextField!
let variable = TextField.text
更新:我用上面插入的新代码创建了一个新项目。我得到的唯一错误是:不能在属性初始化程序中使用实例成员“TextField”;属性初始化程序在 'self' 可用之前运行。
最佳答案
更新:我认为您遇到的问题与您提到的问题不同,在您的答案更改了几次之后,我了解到您希望使用 UITextField 的值来加载 WebView URL 并有时检查前缀以后处于不同的状态。但是您实际上是在 viewDidLoad 上加载 webview,这对您不起作用,因为您还没有机会从手机/模拟器手动更改 UITextField 值。
这意味着可能存在不同的工作案例场景和流程,您可能需要考虑并实现哪一个最适合您的业务需求。现在,如果您希望将 UITextField 的值存储在变量中并访问它的最新值或第一个值,您可以按照我的原始答案:
如果你想要variable
成为存储属性(property) , 这里存储 textfield.text
的值在您实例化 variable
的那一刻,那么您的代码中的问题是 textfield.text
可以是nil
,因此您最好将其处理为:
let variable = textfield.text ?? ""
如果你想要
variable
成为计算属性 ,在这种情况下,每次您尝试访问 variable
并获取它的值,它将根据闭包中的代码计算它,因此它将获取最新的 textfield.text
每次尝试获取 variable
时的值(value)值(value):var variable: String? { // optional, remember textfield.text can return nil
return textfield.text
}
如果你总是想返回一些东西,你可以用这种方式声明它,并在 textfield.text 为 nil 的情况下返回一个空字符串( 记住,
textfield.text
可以是 nil
):var variable: String { // not optional, you give a "" default value if nil
return textfield.text ?? ""
}
关于ios - 如何将文本字段的内容转换为 Xcode 11 (swift) 中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60836461/