2015-10-12 49 views
0

我从Parse中检索currentUser(),并尝试将其first_name属性设置为UILabel。将PFUser属性分配给UILabel

我将该值下注到一个字符串并打印出它的dynamicType以确保它成功。

但是,当我尝试将值分配给username.text时,它会引发致命错误。

代码:

@IBOutlet weak var username: UILabel! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    if let firstname = PFUser.currentUser()?.valueForKey("first_name") as? String { 
     print(firstname.dynamicType) 
     print(firstname) 
     username.text = firstname 
    } else { 
     print("Fail") 
    } 
} 

输出:

String 
Jonnyboy 
fatal error: unexpectedly found nil while unwrapping an Optional value 

显然我失去了一些东西微不足道。有任何想法吗?

+0

你需要声明的用户名作为非可选?例如,你可以改变你的声明为:'@IBOutlet weak var username:UILabel?' –

回答

0

试试这个:

if let firstname = PFUser.currentUser()?.valueForKey("first_name") as? String { 
     print(firstname.dynamicType) 
     print(firstname) 
     username.text = firstname! 
    } else 
    { 
     print("Fail") 
    } 
+0

在'“\(firstname!)中不应该有'!'对吗?而不是一个可选的'String?' – Russell

+0

出于某种原因,我认为他的代码不断返回一个可选的字符串,所以它不会伤害再次投掷@Russell – Lamar

相关问题