我有一个欢迎字符串,上面写着Hello,如果用户在注册时输入firstname
,因此它不等于nil,那么它就是Hello Jake或者其他什么。但是,在屏幕上显示"Hello Optional("Jake")"
。现在我对迅捷很新,但我确实知道概念力展开。我尝试在不同的点上添加感叹号并尝试
let personsName = user["FirstName"] as! String
说这绝对是一个字符串但是也没有用。
welcomeLabel.text = "Hello"
let user = PFUser.current()!
if let personsName = user["FirstName"] {
welcomeLabel.text = "Hello " + String(personsName)
}
答案 0 :(得分:2)
您可以强制转换为将打开值的字符串
// You user might be like this
let user:[String: AnyObject?] = ["FirstName": "Joe"]
if let personsName = user["FirstName"] as? String {
print ( "Hello \(personsName)") // Hello Joe
}
if let personsName2 = user["FirstName"] {
print ("Hello \(personsName2)") // Hello Optional(Joe)
}
答案 1 :(得分:0)
使用此代码,如果您想在名称为空时执行某些操作,请执行此操作
let name = nameTextField.text
if name.isEmpty {
let alert = UIAlertController(title: "Error", message: "Please enter a name",
preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default,
handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
} else {
helloLabel.text = "Hello \(name)!"
}
答案 2 :(得分:0)
放一个!要么 ?没有任何特定的类型。如果你想确保它有一个值并且它是你想要的类型,你需要在firstName的声明中这样做。将其声明为at环并给它一个初始值。