使用Firebase push()创建列表

时间:2016-09-08 19:05:56

标签: ios swift firebase firebase-realtime-database

以下是我为Firebase数据库创建的参考资料

let ref = FIRDatabase.database().reference()

但是,当我尝试将其用作push()的base_url时,我收到此错误:

Value of type 'FIRDatabaseReference' has no member 'push'

我尝试将base_url更改为:

let ref = Firebase.database().ref()

但后来我

Module 'Firebase' has no member 'database'

这是我的Podfile。我错过了什么吗?我已经在我的文件顶部导入了Firebase。

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'

target 'ValleybrookMessenger' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for ValleybrookMessenger

    pod 'Firebase'
    pod 'Firebase/Database'
    pod 'Firebase/Auth'

  target 'ValleybrookMessengerTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'ValleybrookMessengerUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

2 个答案:

答案 0 :(得分:1)

Swift没有push()方法,因此您可能想要的等价物是childByAutoId()

创建引用的第一种方法是正确的:

let ref = FIRDatabase.database().reference()

答案 1 :(得分:0)

Swift不能像javascript一样提供push方法,但是您可以通过以下代码执行类似的操作

let ref = Database.database().reference("Items")
var key = ref.childByAutoId().key as? String ?? ""
ref.child(key).setValue(["Item_Name" : name])

在javascript push方法中,自动生成唯一键,但是很快,您可以通过以下方式生成

var key = ref.childByAutoId().key as? String ?? ""

您可以将其作为子项添加到引用中,并在该键中添加setValue。