我试图将用户的投票发送到FireBase,并将其保存在特定用户的下面。
class User: NSObject {
    var id: String?
    init(dictionary: [String: AnyObject]) {
        self.id = dictionary["id"] as? String
    }
    var ref: DatabaseReference!
    var numberOfGood = 0
    init(id: String? = nil) {
        self.id = id
        ref = Database.database().reference().child("users").childByAutoId()
    }
    init(snapshot: DataSnapshot){
        ref = snapshot.ref
        if let value = snapshot.value as? [String : Any] {
            numberOfGood = value["numberOfGood"] as! Int
        }
    }
    func save() {
        let postDictionary = [
            "id" : self.id,
            "numberOfGood" : self.numberOfGood,
            ] as [String : Any]
        self.ref.setValue(postDictionary)
    }
}
 
在viewController的投票位置,我将投票本身处理如下:
class UserRatingClass {
    var numberOfGood = 0
    var ref = Database.database().reference().child("users").childByAutoId()
    func good() {
        numberOfGood += 1
        ref.child("numberOfGood").setValue(numberOfGood)
    }
}
var userRating: UserRatingClass! {
    didSet {
        let x = userRating.numberOfGood
        self.good.setTitle("\(x) ", for: [])
    }
}
 @IBAction func goodReview(_ sender: UIButton) {
    userRating.good()
    let x = userRating.numberOfGood
    self.good.setTitle("\(x) ", for: [])
}```  
我尝试了不同的方法
    var StringGood = String(user?.numberOfGood)
    self.ref.child("users").child(StringGood).setValue(x)
在按钮内的动作功能,但通过这个,我总是得到不能使用类型‘(Int?)’的参数列表调用类型“String”的初始化程序。作为一个错误..。
编辑:我像这样调用User.Swive类:
 
var user: User?
                    版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。