首页 > 解决方案 > 不能在 swift 中用另一个协议扩展一个协议

问题描述

我试图在我的项目中实现这段代码。

private protocol AnyOptional {
    var isNil: Bool { get }
}

extension Optional: AnyOptional {
    var isNil: Bool { self == nil }
}

我在 SwiftBySundell https://www.swiftbysundell.com/articles/property-wrappers-in-swift/上看到了它。但不幸的是,我收到了这个错误“扩展协议'可选'不能有继承子句”。虽然当我在操场上尝试相同的代码时它工作得很好。知道为什么吗?

标签: swiftprotocolsoptional

解决方案


检查以确保Optional类型名称没有被第三方模块(甚至您自己的模块)覆盖。如果是,那么您可以Swift.Optional改为使用OptionalSwift 内置的枚举。


推荐阅读