【发布时间】:2019-01-22 13:57:04
【问题描述】:
我有一个结构 Event,它使用时间和值进行初始化。
value 属性的类型在创建事件时决定。它可以是Int 或Double 原语之一。
我应该如何在 Swift 中实现这一点?
我希望能够像这样创建一个新的Event 对象:
let event = Event(time: Date.init(), value: EventValue<Double>(40.3467))
我找到了this,但我找不到。
我已经尝试了很多这样的排列,我能做的最好的就是
struct Event {
let time: Date
var value: EventValue? // This line 'requires arguments in <...>'
}
struct EventValue <T> {
let value: T?
}
【问题讨论】:
-
我想知道(非通用)
enum EventValue { case ival(Int); case dval(Double) }是否是您真正想要的...... -
@JoshCaswell 感谢您的编辑。这也为我解决了问题;)
-
@MartinR 我也想知道我在寻找什么。感谢您的意见。