如何在输出中不选择?

时间:2016-08-06 18:13:00

标签: ios swift xcode parsing parse-platform

我有一个欢迎字符串,上面写着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)
}

3 个答案:

答案 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环并给它一个初始值。