是否存在确定类型应该使用String初始化的协议?

问题描述 投票:4回答:1

我编写了以下代码来帮助将表单字段中的文本值转换为期望值:

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

extension Int: StringConvertableValueType {
}

extension String: StringConvertableValueType {
}

extension Double: StringConvertableValueType {
}

extension Float: StringConvertableValueType {
}

如您所见,所有这些原始类型本身都支持相同的初始化程序。然而,倾泻于documentation我找不到任何共享的protocol这样做。虽然感觉我正在重新做一些已经由建立基金会的人做的事情。

有没有某种protocol可以解决这个问题,或者构建Foundation的人只是确保API确实是一致的,但是没有协议强制执行它?

swift string foundation primitive-types
1个回答
5
投票

我相信你要找的是LosslessStringConvertibleIntFixedWidthInteger继承了这个。此瞬态协议继承未显示在符合类型的文档中。 (这可能令人困惑,如果给你带来麻烦,你可能希望open a radar扩展文档。)

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.