StringConvertableValueType

StringConvertableValueType

我编写了以下代码以帮助将表单域中的文本值转换为预期值:

protocol StringConvertableValueType {
    init?(_ string: String)
}

extension Int: StringConvertableValueType {
}

extension String: StringConvertableValueType {
}

extension Double: StringConvertableValueType {
}

extension Float: StringConvertableValueType {
}

正如您看到的,所有这些基元类型都已经支持相同的初始值设定项。然而,我无法找到任何这样做的共享protocol。虽然我觉得我在做一些已经由建造地基的人所做的事情。
是否已经存在某种可以解决这个问题的protocol或者构建Foundation的人只是确保API确实是一致的,但是没有强制执行它的协议?

最佳答案

我相信你要找的是。LosslessStringConvertibleInt继承这个。对于一致性类型,这种临时协议继承不会出现在文档中。(这可能会令人困惑,如果给您带来麻烦,您可能希望open a radar扩展文档。)

09-29 21:13