使用Parse数据库中的更新数据更新UILabel和TextFields

时间:2015-02-13 06:59:29

标签: ios swift parse-platform

我希望一切顺利。我是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) {
}

1 个答案:

答案 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
        }

    }