【发布时间】:2019-07-11 04:46:19
【问题描述】:
我有一个名为 User 的类 init,而 User 类包含一些参数。现在在 Offer 类中,您可以看到我将 User 类作为参数传递,但我希望将其作为可选参数。有没有办法在你的参数中有一个可选的类?谢谢
struct User {
let uid: String
let username: String
init(uid: String, dictionary: [String: Any]) {
self.uid = uid
self.username = dictionary["username"] as? String ?? ""
}
}
struct Offer {
let user: User
let caption: String
let imageURL: String
let creationDate: Date
init(user: User, dictionary: [String: Any]) {
self.user = user
self.caption = dictionary["caption"] as? String ?? ""
self.imageURL = dictionary["image_url"] as? String ?? ""
let secondsFrom1970 = dictionary["creation_date"] as? Double ?? 0
self.creationDate = Date(timeIntervalSince1970: secondsFrom1970)
}
}
【问题讨论】:
-
是的,属性user和对应的参数都是可选的