Как сохранить пользовательский объект в Firebase с помощью Swift? - PullRequest
0 голосов
/ 18 апреля 2019

Я портирую приложение для Android и использую FireBase в Android можно сохранить формат таким образом. Как я могу сделать это на Swift? Я прочитал, что могу хранить только такие данные

  • NSString
  • NSNumber
  • NSDictionary
  • NSArray

Как я могу сохранить объект в атомарной операции? Правильно ли хранить каждое поле пользовательского объекта в отдельном действии?

Firebase на Android

mDatabaseReferences.child("users").child(user.getUuid()).setValue(user)

Ответы [ 2 ]

2 голосов
/ 18 апреля 2019

Я обычно храню объекты в виде словарей на базе Firebase. Если в моем приложении у меня есть объект User, и у него есть свойства как таковые:

class User {
var username = ""
var email = ""
var userID = ""
var consecutiveDaysLoggedOn = Int()
}



let newUser = User()
   newUser.username = "LeviYoder"
   newUser.email = "LeviYoder@LeviYoder.com"
   newUser.userID = "L735F802847A-"
   newUser.consecutiveDaysLoggedOn = 1

Я бы просто сохранил эти свойства как словарь и записал этот словарь в мою базу данных firebase:

let userInfoDictionary = ["username" : newUser.username
                           "email" : newUser.email
                           "userID" : newUser.userID
              "consecutiveDaysLoggedOn" : newUser.consecutiveDaysLoggedOn]

let ref = Database.database().reference.child("UserInfo").child("SpecificUserFolder")
//      ref.setValue(userInfoDictionary) { (error:Error?, ref:DatabaseReference) in

ref.setValue(userInfoDictionary, withCompletionBlock: { err, ref in
    if let error = err {
        print("userInfoDictionary was not saved: \(error.localizedDescription)")
    } else {
        print("userInfoDictionary saved successfully!")
    }
}

Это отвечает на ваш вопрос?

0 голосов
/ 18 апреля 2019

Использование

self.ref.child("users").child(user.uid).setValue(["username": username])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...