Я не разработчик яблок, но постараюсь помочь:
Хорошо, похоже, что у вас есть пользователи, которые входят в ваше приложение, и вы сохраняете их uid под узлом пользователей.
Предполагая, что я анализирую это право:
У вас есть 3 уровня вложенности (случайные идентификаторы).
уровень 1: UID пользователей.
уровень 2. Идентификатор автомобилей для каждого пользователя.
уровень 3: идентификатор стоимости каждого автомобиля.
Если вы можете сослаться на эти 3 идентификатора, вы прочтете необходимые данные.
уровень 1: это легко, если ваши пользователи вошли в систему только с помощью идентификатора пользователя.
уровень 2: вы должны ссылаться на него, если, возможно, вы нажали на автомобиль определенного пользователя.
уровень 3: как и уровень 2, вы должны сохранить ссылку.
теперь код:
//database reference
var ref: DatabaseReference!
ref = Database.database().reference()
//user id (level 1)
let userID = Auth.auth().currentUser?.uid
//(level 2)
let carID = ...... its up to you to reference this
//(level 3)
let CostID = ...... its up to you to reference this
//read the costAmount
ref.child("Users").child(userID).child("cars").child(carID).child("Costs").child(CostID)
.child("costAmount").observeSingleEvent(of: .value, with: { (snapshot) in
// Get value
let costAmount= snapshot.value as? Int
// ...
}) { (error) in
print(error.localizedDescription)
}