【发布时间】:2015-11-06 17:47:28
【问题描述】:
我有 2 个视图控制器,VC1 在我的应用程序中显示所有用户的基本信息,当您在某个单元格中按下更多信息按钮时,它会转到一个新的 VC,该 VC 显示您所在单元格中的用户完整配置文件之前按下。
在帮助下,除了如何在 VC2 上显示结果外,我一切正常。我正在尝试在 VC2 中设置一个属性。我也试过了
此代码未返回任何错误,但在 VC2 上不显示任何内容。
我试过set,get willSet,什么都破解不了:
var userToShowDetail: PFUser? {
willSet {
self.configureView()
}
}
func configureView() {
// Update the user interface for the detail item.
if let userToShowDetail: PFUser = self.userToShowDetail {
if let label = self.userName {
userName.text = userToShowDetail["name"] as! String?
}
}
}
override func viewDidLoad() {
我试过这个,但它只返回一个空的 VC:
var userToShowDetail: PFUser?
override func viewDidLoad() {
super.viewDidLoad()
if let appUsers = userToShowDetail as PFUser? {
self.userName.text = appUsers["name"] as? String
self.userInstrument.text = appUsers["instrument"] as? String
self.userAge.text = appUsers["age"] as? String
self.userProfile.file = appUsers["image"] as? PFFile
self.userProfile.layer.cornerRadius = self.userProfile.frame.size.width/2
self.userProfile.clipsToBounds = true
self.userProfile.loadInBackground()
}
我研究过 didSet 和 willSet 但我仍然不知所措。任何帮助将不胜感激。有人可以指点我的教程或建议我下一步是什么。
willSet and DidSet purpose Apple properties
View Controller 1 segue:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "userProfileDetailsSegue" {
//get the index path for the row that was selected
let indexPath = self.resultsPageTableView.indexPathForSelectedRow!
//get the PFUser object for that particular row
let userToShow = self.appUsers[indexPath.row]
//create your new view controller
let newVc = segue.destinationViewController as! UserProfileDetailsViewController
//assign the new vc's property to your object
newVc.userToShowDetail = userToShow
}
}
【问题讨论】:
-
试试exception breakpoint,它可能会帮助您找出问题所在
-
从 vc1 推送到 vc2 时,能否显示设置
userToShowDetail的代码? -
@AndreSlotta 抱歉,我在那里更新了我的代码。
标签: ios swift parse-platform properties swift2