首页 > 解决方案 > firebase childByAutoId.key 是可选的

问题描述

我正在使用 Firebase 和 Swift。我想使用 Firebase 函数 childByAutoId.key 但它不起作用。我在做什么错?.key 是可选的...通常它必须是非可选的!感谢帮助!

import Foundation
import FirebaseDatabase

class AddWatchlistAPI {


    var REF_WATCHLIST = Database.database().reference().child("watchlists")


    static var shared: AddWatchlistAPI = AddWatchlistAPI()
    private init() {
    }

    //add a watchlist to the user
    func addWatchlistToDatabase(watchlistName: String, onSuccess: @escaping () -> Void) {

        let watchlistRef = REF_WATCHLIST
        let watchlistId = watchlistRef.childByAutoId().key //.key is optional ???? --> Normally it isn t optional

        let newWatchlistRef = watchlistRef.child(watchlistId)//here the error is warning

    }

}

标签: iosswiftfirebase

解决方案


尝试如下

1-let watchlistId:String = (watchlistRef.childByAutoId().key)!

或者

2-let watchlistId:String = watchlistRef.childByAutoId().key ?? ""

或者

3-

var ref: DatabaseReference!

ref = Database.database().reference()

let llave = self.ref.child(name_of_child).childByAutoId().key


推荐阅读