我知道“引擎盖下”的可选值表示为
Optional
枚举…
public enum Optional<Wrapped> {
case none
case some(Wrapped)
}
在某种程度上,这对开发人员是隐藏的(出于合理的原因),因此,当打印选项时,默认行为(在swift 4中)是省略
可选
零件和简单打印
nil
或者仅仅是价值。
let longFormDefinedOptionalInt: Optional<Int> = nil
let shortFormDefinedOptionalInt: Int? = 99
print("\(longFormDefinedOptionalInt)") // Prints "nil" and NOT "Optional.none"
print("\(longFormDefinedOptionalInt)") // Prints "99" and NOT "Optional.some(99)"
是否有对可选项的完整和真实描述,即“可选。无”或“可选。某些(99)”。
我确信这是可能的,因为XCEST在打印失败消息时会以某种方式执行此操作,例如…
XCTAssertEqual(Int("99"), 11)
XCTaserEqual失败:(“可选(99)”)不等于(“可选(11)”)