Swift 3: Return 来自初始化程序错误

Swift 3: Return from initializer error

我收到错误消息:Return 来自初始值设定项,但未初始化所有存储的属性。

我正在使用 swift 3 和 xcode 8 也使用 firebase 作为我的后端。

import Foundation
import FirebaseDatabase

struct Post {

var ref: FIRDatabaseReference
var key: String!
var username: String!
var postId: String!
var postText: String!



init(username: String, postId: String, postText: String, key: String = ""){

    self.username = username
    self.postId = postId
    self.postText = postText

}//<--- im getting the error right here


init(snapshot: FIRDataSnapshot) {

    let values = snapshot.value as! Dictionary<String,String>

    self.username = values["username"]
    self.postText = values["postText"]
    self.postId = values["postId"]
    self.ref = snapshot.ref
    self.key = snapshot.key

}

func toAnyObject() -> [String: AnyObject]{

    return ["username":username as AnyObject, "postText":postText as AnyObject,"postId":postId as AnyObject]

}


}

知道如何解决这个问题吗?

存储的属性ref是非可选类型。

根据规则,必须在每个提供的初始化程序中初始化所有非可选属性。

这意味着您必须为 属性 分配一个初始值,或者将 属性 设为可选。