2015-10-12 81 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

相關問題