我希望一切顺利。我是Swift的新手。我正在为我的2个社交应用创意构建一个shell。我已经使用Parse成功完成了登录,注册,注销和最小查询。到目前为止,我一直在进步,但是我已达到精神障碍。
我创建了一个用户配置文件ViewController,它从数据库中查询当前用户的信息,并最初在控制器中显示结果;名字,姓氏等。
我还创建了一个编辑配置文件ViewController,使用户可以更新其配置文件信息和注销。到目前为止,我已经能够将更改提交到数据库,但是我很难更新UILabels和文本字段以显示新值。
一些额外的见解:在我的主要观点中,用户在成功登录/注册后嵌入到导航控制器中时被重定向到,这意味着推断了导航栏。
请帮助我!
这是我的UserProfileViewController的代码。如果我需要澄清,请告诉我。
override func viewDidLoad() {
super.viewDidLoad()
//---------------------------------------
//User Profile View - this can go between viewDidLoad and viewDidAppear functions.
//---------------------------------------
let userImageFile = PFUser.currentUser()["userProfileImage"] as PFFile
userImageFile.getDataInBackgroundWithBlock {
(imageData: NSData!, error: NSError!) -> Void in
if error == nil {
var image = UIImage(data:imageData)
self.currentUserProfilePicture.image = image
}
}
var query = PFUser.query()
query.whereKey("objectId", equalTo: PFUser.currentUser().objectId)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
let user = PFUser.currentUser()
var firstname = PFUser.currentUser()["firstName"]! as String
var lastname = PFUser.currentUser()["lastName"]! as String
var aboutMe = PFUser.currentUser()["aboutMe"]! as String
self.firstName.text = firstName
self.lastName.text = lastname
self.aboutMe.text = aboutMe
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func viewDidAppear(animated: Bool) {
}
答案 0 :(得分:0)
嗨,欢迎来到swift。
您是否正在使用prepareForSegue,以便在ViewControllers之间发送数据?
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "yourIdentifier" //you set the identifier in the storyboard
{
var vc = segue.destinationViewController as! YourDestinationViewController //the class of the destination view controller
vc.someValue = value
vc.otherValue = otherValue
vc.dataArray = array //here you set the values in the destination view controller
}
}