2015-03-11 2 views
0

Прежде всего, у меня нет табличных представлений или что-то в этом роде - у меня только обычные UIViewcontrollers.(SWIFT) Как обновить данные из Parse после отклонения модального управления представлением?

У меня есть VC, который показывает имя пользователя (данные из Parse), когда вы нажимаете кнопку с именем edit, вы можете редактировать свое имя в новом VC, который показывает через Modal. Сам код работает, и он обновляет имя в базе данных, но он не обновляет имя в первом VC, поскольку я отклоняю VC редактирования. Я должен заставить закрыть приложение и открыть его снова, чтобы увидеть изменения ...

Может ли кто-нибудь помочь мне с примером, чтобы решить эту проблему? Im свихнулся ...

Это мой код:

import UIKit 

class usersViewController: UIViewController { 


    @IBOutlet weak var firstnameLabel: UILabel! 



    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view. 

    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 






    override func viewDidAppear(animated: Bool) { 
     super.viewDidAppear(true) 

     var currentUser = PFUser.currentUser() 
     if currentUser != nil { 
      currentUser.fetchIfNeededInBackgroundWithBlock({ (bruger: PFObject!, error: NSError!) -> Void in 
       var firstn: NSNumber = bruger["firstname"] as NSNumber 


       self.firstnameLabel.text = firstn.stringValue 



      }) 


     } else { 
      self.performSegueWithIdentifier("goto_login", sender: self) 
     } 


    } 


} 
+0

предоставьте детали кода, чтобы серьезно рассмотреть ваш вопрос. – Tatvamasi

+0

Код теперь добавлен :-) –

+1

Почему вы получаете первое имя как число? – milesper

ответ

1

Вы можете попробовать поставить код, чтобы обновить имя в отдельной функции. Затем вызовите эту функцию в viewDidAppear

func reloadFirstName(){ 
    //Whatever you use to set the label 
    //Something like: 
    //PFUser.currentUser().refresh() 
    //self.label.text = PFUser.currentUser().username 
} 
override func viewDidAppear(animated: Bool) { 
    self.reloadFirstName() 
} 

Ключ является вы должны вызвать PFUser.currentUser(). Refresh(), прежде чем получить значение из него.

+0

Я пробовал это без какой-либо помощи, к сожалению :-( –