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
感謝を! 'self.users.append(user)'の直後に 'self.userNameFL.text = userDict ['userName"]を?String'として追加しましたが、まだラベルが更新されていませんか? – ryanbilak
これは、あなたのUILabelがInterface BuilderのuserNameFLプロパティに正しく接続されているかどうかをチェックし、 'userDict [" userName "]'が 'print(userDict [ユーザー名 "") ' – dePaduaL
遅れて申し訳ありません。チェックして、UILabelが正しく接続されていますが、' userDict ["userName"] 'を印刷しようとすると印刷されません – ryanbilak