ios - 快速为 uiTextField 添加前缀
问题描述
我正在尝试将国家/地区代码添加为 textField 的前缀,以便用户可以输入他的电话号码的其余部分
@IBAction func phoneLogin(_ sender: Any) {
let countryCode = "+1"
guard let phoneNumber = countryCode + MobileLbl.text! else { return }
if ((MobileLbl.text?.isEmpty) != nil) {
print("Fill Your Number")
}else {
OTPtxt.isHidden = false
VerifyBtn.isHidden = false
PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber, uiDelegate: nil) { (verificationId, error) in
if error == nil {
guard let verifyId = verificationId else { return }
self.def.setValue(verifyId, forKey: "verificationId")
self.def.synchronize()
print(verificationId)
} else {
print("Unable to get Secret verification from firebase", error?.localizedDescription)
}
}
}
}
我收到此错误条件绑定的初始化程序必须具有可选类型,而不是“字符串”
解决方案
您正在强制展开MobileLbl.text!
,这不再使其成为可选。去掉感叹号,所以它只是MobileLbl.text
。还必须移动countryCode
到另一行,因为它也不是可选的。
let countryCode = "+1"
guard let phone = MobileLbl.text else { return nil }
let phoneNumber = countryCode + phone
推荐阅读
- python - 构造一个类在另一个文件python中的对象
- powershell - 从按另一属性分组的对象中查找一个属性的平均值
- javascript - 如何使整个 div 可点击
- spring - 春天。在类字段中加载完整的属性文件作为映射
- ios - Swift - 仅忽略背景窗口的交互
- c# - 如何在使用 UnitOfWork 时传递连接选项。C#实体框架、依赖注入、Sqlite、工作单元
- angular - Angular 原理图没有从模板创建文件
- tfs - 可以与提交关联的默认最大工作项数是多少?
- python - vsphere python 扩展 vmfs 数据存储
- php - 聚合根 ID