Swift 使用来自 Parse 的数据展开可选值时出现致命错误
Fatal Error in Swift unwrapping an Optional value using data from Parse
我正在尝试显示当前登录的用户名,但我收到关于可选值意外为 nil 的致命错误。我搜索了与我的问题相关的其他几个问题(使用 "if let")并尝试了解决方案,但由于某种原因我无法让此代码显示在我的标签中,即使我实际上显示了一个值对于我的调试变量。我的代码如下:
import UIKit
import Parse
class DashboardViewController: UIViewController {
@IBOutlet var welcomeText: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(animated: Bool) {
if let currentUser = PFUser.currentUser()?.username {
welcomeText.text = "Welcome \(currentUser)!"
} else {
welcomeText.text = "Welcome"
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
我什至尝试过(正如我发布的那样)将我的代码移动到 viewWillAppear() 函数以查看这是否有所作为,考虑到过去有帮助,但没有成功。任何帮助将不胜感激!
错误:
尝试下面的代码,将解析代码分开。我猜你尝试在 Parse 数据准备好之前分配它。
import UIKit
import Parse
class DashboardViewController: UIViewController {
@IBOutlet var welcomeText: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
welcomeMessage()
}
override func viewWillAppear(animated: Bool) {
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func welcomeMessage () {
if let currentUser = PFUser.currentUser()?.username {
welcomeText.text = "Welcome \(currentUser)!"
} else {
welcomeText.text = "Welcome"
}
}
}
看到更多的代码还是很有帮助的,你的获取用户的代码在哪里?您是否也尝试在那里设置标签文本?那行得通吗?
你的标签是零。在我看来,Interface Builder 和您的代码之间的标签连接断开了。您需要右键单击并从标签拖动到插座 属性 以再次形成连接。
我正在尝试显示当前登录的用户名,但我收到关于可选值意外为 nil 的致命错误。我搜索了与我的问题相关的其他几个问题(使用 "if let")并尝试了解决方案,但由于某种原因我无法让此代码显示在我的标签中,即使我实际上显示了一个值对于我的调试变量。我的代码如下:
import UIKit
import Parse
class DashboardViewController: UIViewController {
@IBOutlet var welcomeText: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(animated: Bool) {
if let currentUser = PFUser.currentUser()?.username {
welcomeText.text = "Welcome \(currentUser)!"
} else {
welcomeText.text = "Welcome"
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
我什至尝试过(正如我发布的那样)将我的代码移动到 viewWillAppear() 函数以查看这是否有所作为,考虑到过去有帮助,但没有成功。任何帮助将不胜感激!
错误:
尝试下面的代码,将解析代码分开。我猜你尝试在 Parse 数据准备好之前分配它。
import UIKit
import Parse
class DashboardViewController: UIViewController {
@IBOutlet var welcomeText: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
welcomeMessage()
}
override func viewWillAppear(animated: Bool) {
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func welcomeMessage () {
if let currentUser = PFUser.currentUser()?.username {
welcomeText.text = "Welcome \(currentUser)!"
} else {
welcomeText.text = "Welcome"
}
}
}
看到更多的代码还是很有帮助的,你的获取用户的代码在哪里?您是否也尝试在那里设置标签文本?那行得通吗?
你的标签是零。在我看来,Interface Builder 和您的代码之间的标签连接断开了。您需要右键单击并从标签拖动到插座 属性 以再次形成连接。