- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
将我的 Playground 代码更改为 Swift 3,Xcode 建议更改
enum Error: ErrorType {
case NotFound
}
到
enum Error: Error {
case NotFound
}
但现在我得到标题错误,我不知道如何让枚举符合该协议(protocol)。
最佳答案
问题是你将错误类型命名为Error
——这与标准库Error
协议(protocol)冲突(因此Swift认为你有一个循环引用) .
您可以将 Swift Error
协议(protocol)称为 Swift.Error
以消除歧义:
enum Error : Swift.Error {
case NotFound
}
但这意味着以后在你的模块中对 Error
的任何引用都将引用你的 Error
类型,而不是 Swift 错误
协议(protocol)(你必须再次消除歧义)。
因此,迄今为止最简单的解决方案就是将错误类型重命名为更具描述性的名称。
关于swift - 类型 'Error' 不符合协议(protocol) 'RawRepresentable',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39430710/
我正在创建一个包装字典的自定义集合。该集合应该识别何时获得具有 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
我是一名优秀的程序员,十分优秀!