ios - 在 swift4 中未调用 DatabaseReference.observe
问题描述
我正在尝试从 firebase 获取数据。我正在调用一个具有databaseReference
但它没有调用的函数。基本上这个函数也databaseRefernce
只从另一个函数调用。
这是我的代码:
func prepareCoursesFromCourseNodewithAllCoursesList(allCourseList: [Any]){
var courseDetailsNode = String()
var courseCount = allCourseList.count
weak var weakSelf = self
var courseId = String()
var localCoursesAndCardDictionary = [AnyHashable: Any]()
for singleCourse in allCourseList as! [[String:Any]] {
if singleCourse["elementId"] != nil {
courseId = "\(String(describing: singleCourse["elementId"]!))"
}else{
if singleCourse["currentCourseId"] != nil {
courseId = "\(String(describing: singleCourse["currentCourseId"]!))"
}
}
if singleCourse["parentNodeName"] != nil {
if singleCourse["parentNodeName"] as! String == "course" {
//this is course
courseDetailsNode = IMERCOURSE_URL
}
else {
//this is course Collection
courseDetailsNode = IMERCOURSECOLLECTION_URL
}
}
var reference = DatabaseReference()
let courseURL = "\(FIREBASE_URL)\(courseDetailsNode.replacingOccurrences(of: "{Id}", with: courseId))"
reference = Database.database().reference(fromURL: courseURL)
self.addIntoListFirebaseRef(firebaseRef: ref)
reference.observe(DataEventType.value, with: { (snapShot:DataSnapshot) in
courseCount -= 1
if snapShot.value != nil {
let singleCourseDictionary = snapShot.value as? [String: Any]
localCoursesAndCardDictionary[courseId] = singleCourseDictionary
self.settingUserDetailsViewData()
(Constants.sharedTools() as AnyObject).hideProgressIndicator()
}
}
}, withCancel: { (error:Error) in
})
}
}
}
这prepareCoursesFromCourseNodewithAllCoursesList(allCourseList: [Any])
是从另一个databaseRefernce.ObserveEevnt
值调用的。
解决方案
推荐阅读
- mysql - 根据关系将两个表连接到一个辅助表中
- javascript - 如何删除数组中的数组?json的AJAX数据
- android - 在 Android 活动之间传递 Location 对象
- asp.net-mvc - 提交时 iframe 内的表单不起作用
- android - java.net.ProtocolException:Android 流意外结束
- javascript - 显示每次在渲染中更新 onPress 的数组 - ReactNative
- opencv - 在 python 中将 OpenCV SURF 应用于 HSV 颜色空间时出错
- java - 如何将 HashSet 和 LinkedList 放在一种方法中?
- ios - 无法从项目子文件夹中读取文件
- matplotlib - 什么是子图零?(缺乏文件)