swift - 实例成员不能用于类型 - Firebase
问题描述
我是 Swift 新手,我正在学习如何使用 Xcode 和 Firebase 创建社交媒体应用程序的教程。但是,我收到了这个错误:
实例成员 'database' 不能用于类型 'DatabaseReference'
这是我的代码:
import Foundation
import Firebase
class Post {
private var _username: String!
private var _userImg: String!
private var _postImg: String!
private var _likes: Int!
private var _postKey: String!
private var _postRef: DatabaseReference
var username: String {
return _userImg
}
var postImg: String {
get {
return _postImg
}set {
_postImg = newValue
}
}
var likes: Int {
return _likes
}
var postKey: String {
return _postKey
}
init(imgUrl: String, likes: Int, username: String, userImg: String) {
_likes = likes
_postImg = postImg
_username = username
_userImg = userImg
}
init(postKey: String, postData: Dictionary<String, AnyObject>) {
_postKey = postKey
if let username = postData["username"] as? String {
_username = username
}
if let userImg = postData["userImg"] as? String{
_userImg = userImg
}
if let postImage = postData["imageUrl"] as? String {
_postImg = postImage
}
if let likes = postData["likes"] as? Int {
_likes = likes
}
_postRef = DatabaseReference.database().reference().child("posts")
}
}
我在倒数第三行收到错误消息:
_postRef = DatabaseReference.database().reference().child("posts")
解决方案
该database
属性是一个实例类型,这意味着它必须由 的实例引用DatabaseReference
。您的调用DatabaseReference.database
是访问一个类或静态类型。您需要将调用更改为DatabaseReference
.
据推测,您需要初始化DatabaseReference
. 我不知道 Firebase 知道这需要什么,但这会解决您的问题。
本质上:
let databaseReference = DatabaseReference() // Likely won't work, but some init method here will
_postRef = databaseReference.database()... // Whatever you need here
推荐阅读
- python - 从python中的城市道路中提取图形并在networkx中使用它
- regex - 正则表达式匹配是/否
- mysql - Error binding mariadb nodejs docker-compose
- node.js - 从 nodeJS 连接到我的 vpc 上的 documnetDB 集群
- tensorflow - 有谁知道如何在 ECS 中为 tensorflow-serving 制作负载均衡器?
- r - 在R中阅读带有包装文本的pdf
- pm2 - PM2 部署失败并显示“不是 git 存储库”消息
- java - 与学生一起创建一个文件,并查看平均成绩高于 5 的学生的信息以及每个学生的平均成绩
- powershell - Powershell:当 MainWindowTitle 为空时如何获取窗口标题
- sql - 根据类型和“父级”合并多个级别