【发布时间】:2023-03-27 06:45:02
【问题描述】:
我和我的朋友正在开发一个集成了(新的)Firebase 的 Swift IOS 项目。我们能够写入 Firebase 数据库,但我们在检索数据时遇到了问题。
我们有一个 tableView 控制器,我们希望从 Firebase 数据库中填充该表。我们的数据库是这样组织的:
root
|
- Movies
|__ -Wjdkfdmlksdf (unique ID made by Firebase)
|
|_Actors
|_A1 = ajkdfnadfdf
|_A2 = podifpadsfipasdip
|_Title = "Mission Impossible"
|_DirectedBy = "Christopher McQuarrie"
-Actors
|_ -ajkdfnadfdf (unique ID made by Firebase)
|_name : "Tom Cruise"
|_Birthday: xx/yy/zz
在项目中,我们创建了一个文件/类,其中包含向 firebase 写入和检索的方法。如果我们想从 Firebase 中检索特定视图控制器的信息,我们只需调用该类中的特定方法即可。
例如,这是类中的方法之一:
func getListOfAllMovieIDs() -> [String] {
let ref = FIRDatabase.database().reference();
var ListOfMovieIDS = [String]();
ref.child("Movies").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
let postDict = snapshot.value as! [String : AnyObject]
for (MID, _) in postDict {
ListOfMovieIDS.append(MID);
}
}) { (error) in
print(error.localizedDescription)
}
return listOfMoviesIDS
}
我们将我刚才在viewDidLoad() 中描述的这个方法称为tableViewController。但是,该方法不返回任何内容。我们还调用了另一种方法,例如获取参与者的唯一 IDS 列表,但它也不返回任何内容。有什么建议吗?
【问题讨论】:
标签: ios swift firebase firebase-realtime-database