我有2个视图控制器,VC1显示我的应用程序基本信息的所有用户,当你按下某个单元格中的更多信息按钮时,显示用户以前按下的单元格中的完整概要文件。设置一个属性,更新信息显示在一个VC swift
在帮助下,除了如何在VC2上显示结果之外,我已经做好了一切工作。我正在尝试在VC2中设置一个属性。我也试过
这段代码没有返回错误,但在VC2上什么也没有显示。
我试过设置,获取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
视图控制器1赛格瑞:
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
}
}
尝试的[异常断点(https://developer.apple.com/library/ios/recipes/xcode_help-breakpoint_navigator/articles/adding_an_exception_breakpoint.html)它可以帮助你找出问题的所在 – Leonardo
你可以在从vc1推送到vc2的时候显示你设置'userToShowDetail'的代码吗? –
@AndreSlotta对不起,我更新了我的代码。 – Grace