swift - 不能在 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/上看到了它。但不幸的是,我收到了这个错误“扩展协议'可选'不能有继承子句”。虽然当我在操场上尝试相同的代码时它工作得很好。知道为什么吗?
解决方案
检查以确保Optional
类型名称没有被第三方模块(甚至您自己的模块)覆盖。如果是,那么您可以Swift.Optional
改为使用Optional
Swift 内置的枚举。
推荐阅读
- node.js - Prometheus 不会公开所有收集的指标
- c++ - ListView 的大小调整占用了整个空间,甚至是为状态栏提供的空间
- swift - SPM 缓存不适用于 github 操作,有什么想法吗?
- html - 对齐表格中的左侧项目但在中心
- optimization - 为什么使用不同的方法来优化光流和立体视觉的能量函数?
- python - 从目录中的所有文件中将字符串逐行拆分为变量
- go - How to change redis passwd without downtime
- python - 如果两个列表具有相同的元素,则将这些列表的其他元素相加
- c++ - 矩阵中最有价值的“H”形区域?
- python - 加载保存的模型以恢复训练