2016-05-02 8 views
0

私は自分のアプリでユーザープロフィールページを作成しようとしています。作成したラベルにスナップショットデータを割り当てるのに問題があります。ラベルにスナップショットデータを割り当てる方法は? Swift 2&Firebase

ログに記録されているのを見ると、データが確実に取り込まれています。特定の値をとり、それをビューのテキストラベルに割り当てたいと思います。

import UIKit 
import Alamofire 
import Firebase 

class UserProfileVC: UIViewController { 

@IBAction func editProfileButton(sender: AnyObject) { 
} 
@IBOutlet weak var userBio: UILabel! 

@IBOutlet weak var userWebSite: UITextField! 

@IBOutlet weak var userNameFL: UILabel! 

@IBOutlet weak var applied: UILabel! 

@IBOutlet weak var skipped: UILabel! 

@IBOutlet weak var matched: UILabel! 

var users = [User]() 
static var imageCache = NSCache() 
var user: User! 


override func viewDidLoad() { 
    super.viewDidLoad() 

    navigationController?.navigationBar.tintColor = UIColor.whiteColor() 

    DataService.ds.CURRENT_USER_REF.observeEventType(.Value, withBlock: {snapshot in 

     print(snapshot.value) 

     self.users = [] 

     if let snapshots = snapshot.children.allObjects as? [FDataSnapshot] { 

      for snap in snapshots { 

       print("SNAP: \(snap)") 

       if let userDict = snap.value as? Dictionary<String, AnyObject> { 

        let key = snap.key 
        let user = User(postKey: key, dictionary: userDict) 
        self.users.append(user) 

       } 
      } 

     } 



    }) 

印刷されているスナップショットからデータを取得し、指定したラベルに割り当てる方法を教えてください。ここでは、スナップショットのプリントアウトがあります:

{ 
provider = password; 
userName = "Ryan Bilak "; 
} 
SNAP: Snap (provider) password 
SNAP: Snap (userName) Ryan Bilak 

答えて

0

右のユーザーの配列にユーザーを追加した後、あなたがラベルテキストを設定したいと仮定すると、あなたはどうなる:userNameFL.text = userDict["userName"]

+0

感謝を! 'self.users.append(user)'の直後に 'self.userNameFL.text = userDict ['userName"]を?String'として追加しましたが、まだラベルが更新されていませんか? – ryanbilak

+0

これは、あなたのUILabelがInterface BuilderのuserNameFLプロパティに正しく接続されているかどうかをチェックし、 'userDict [" userName "]'が 'print(userDict [ユーザー名 "") ' – dePaduaL

+0

遅れて申し訳ありません。チェックして、UILabelが正しく接続されていますが、' userDict ["userName"] 'を印刷しようとすると印刷されません – ryanbilak

関連する問題