Swift 是否存在一个协议来确定一个类型应该可以用字符串初始化?

Swift 是否存在一个协议来确定一个类型应该可以用字符串初始化?,swift,string,foundation,primitive-types,Swift,String,Foundation,Primitive Types,我编写了以下代码来帮助将表单字段中的文本值转换为预期值: protocol StringConvertableValueType { init?(_ string: String) } extension Int: StringConvertableValueType { } extension String: StringConvertableValueType { } extension Double: StringConvertableValueType { } exten

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

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

extension Int: StringConvertableValueType {
}

extension String: StringConvertableValueType {
}

extension Double: StringConvertableValueType {
}

extension Float: StringConvertableValueType {
}
正如您所看到的,所有这些基本类型本身都支持相同的初始值设定项。然而,我找不到任何共享的
协议
。虽然我觉得我在做一些已经建立起来的人所做的事情。
是否已经存在某种处理此问题的
协议
,或者创建
基金会的人员只是确保API确实是一致的,但没有强制执行它的协议?

我相信您正在寻找的是
无损StringConverable
Int
继承自
FixedWidthInteger
。对于一致性类型,这种瞬态协议继承不会出现在文档中。(这可能会让人困惑,如果给你带来麻烦,你可能会想扩展文档。)

拥抱Rob,这就是我想要的。