- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要一个可以实例化几个不同对象的通用函数enum
我通过提供枚举类型和 Int
原始值(value)。这些enum
s 也是 CustomStringConvertible
.
我试过这个:
func myFunc(type: CustomStringConvertible.Type & RawRepresentable.Type, rawValue: Int)
private func myFunc<T: RawRepresentable>(rawValue: Int, skipList: [T]) {
let thing = T.init(rawValue: rawValue)
}
T.init(rawValue:)
的错误。 :
最佳答案
问题是 T.RawValue
可以是 Int
以外的其他内容使用您当前的类型约束。您需要指定 T.RawValue == Int
为了通过您的rawValue: Int
init(rawValue:)
的输入参数.
func myFunc<T: RawRepresentable & CustomStringConvertible>(rawValue: Int, skipList: [T]) where T.RawValue == Int {
let thing = T.init(rawValue: rawValue)
}
关于ios - 如何使用 CustomStringConvertible 和 RawRepresentable 组合类型指定函数参数的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60884057/
我正在创建一个包装字典的自定义集合。该集合应该识别何时获得具有 string/int 类型的原始值的枚举,如果是这样,它将自动从中提取“rawValue”。 我的一个下标应该处理下标的键为 Strin
为了将 NSCoding 与 Swift 的枚举类型一起使用,我对 NSCoder 进行了扩展: extension NSCoder { func encodeEnum(value: Enum
我正在尝试编写一个基于字符串扩展枚举的扩展。我知道扩展所有枚举的方法是扩展 RawRepresentable,但我希望它仅限于字符串。 extension RawRepresentable where
在 Swift 书中,枚举的例子很好用 enum CompassPoint: String { case north, south, east, west } var northCom = C
我正在尝试为我的 FieldIdentifiable 协议(protocol)创建一个扩展,仅当实现它的枚举具有 Int 的 RawValue 时。唯一的问题是 return FieldIdItem(
我想使用在 Objective-C 和 Swift 中都可见但不符合协议(protocol) RawRepresentable 的枚举。 我试图让一个字符串枚举在 Objc 和 Swift 中都可见,
让我们假设: enum MyEnum: String { case value } let possibleEnum: Any = MyEnum.value if let str = stringFr
我试图使具有关联值的枚举符合 CaseIterable、RawRepresentable。当通过 rawValue 初始化时,我对关联值的一些默认值没问题。 enum GenresAssociated
我想要一个可以实例化几个不同对象的通用函数enum我通过提供枚举类型和 Int原始值(value)。这些enum s 也是 CustomStringConvertible . 我试过这个: func
我正在寻找编写一个将与各种测量结构一起使用的协议(protocol)。每个结构体都有自己的 Units 枚举,用于定义用于比较的单位类型: public enum TestUnits: Double
我这里有一个结构,当 Xcode 尝试编译它时它会生成错误 public struct GATToIPPermissions : OptionSet { public init(rawValu
我看到了这个答案How to enumerate an enum with String type? 现在我正在尝试创建将返回字符串数组的方法使用枚举的原始值。 所以我做到了: class func
我正在寻找类似的东西: func extractRawValue(fromPossibleRawRepresentable value: Any) -> Any? { return (valu
我正在尝试为 RawRepresentable 创建一个带有可选参数的通用可失败初始化程序,基本上是这个 https://www.natashatherobot.com/swift-failable-
将我的 Playground 代码更改为 Swift 3,Xcode 建议更改 enum Error: ErrorType { case NotFound } 到 enum Error: Er
我正在尝试编写一个函数,该函数接受任何可由 CustomStringConvertible 表示的 RawRepresentable 值。我试过这样写: enum MyEnum: String {
使用以下简化结构: class Property: Mappable { var path: String? override func mapping(map: Map) {
我有一个案例,我试图定义一个接受对象数组的函数,要求每个对象必须定义一个基于字符串的枚举,称为“命令”。 下面是一个示例,说明如果您使用关联类型,您将如何做到这一点: protocol Command
我已经声明了错误类型 enum UserServicesError: ErrorType { case UserNotLogged } 但是我得到一个错误 参数类型“UserServicesE
所以我有一个接收 Any 的函数,它通过反射检查 Any 是否是一个枚举: func extractRawValue(subject: Any) throws -> Any { let mir
我是一名优秀的程序员,十分优秀!