Swift 协议扩展默认变量实现引发分段错误11
我想用变量的默认实现创建协议扩展。这个简单的代码抛出了分段错误11,它也在操场上崩溃了。 删除“set”关键字时效果很好,但在实现此协议的类中,我不能简单地将值设置为“test”变量 有什么建议吗Swift 协议扩展默认变量实现引发分段错误11,swift,Swift,我想用变量的默认实现创建协议扩展。这个简单的代码抛出了分段错误11,它也在操场上崩溃了。 删除“set”关键字时效果很好,但在实现此协议的类中,我不能简单地将值设置为“test”变量 有什么建议吗 import UIKit protocol Prot { var test: Int { get set } } extension Prot { var test: Int { return 1 } } struct TestStruct: Prot {
import UIKit
protocol Prot {
var test: Int { get set }
}
extension Prot {
var test: Int {
return 1
}
}
struct TestStruct: Prot {
}
如果你得到了一个分段错误,那么它肯定是一个快速编译器错误。 尽管如此,这段代码仍然不应该编译 原因是您的扩展为
test
定义了一个默认的get
,但是TestStruct
没有集,因此它还不符合Prot
。
如果该bug不存在,您可能会收到一条错误消息,内容大致如下:TestStruct不符合Prot协议
p、 美国:考虑将一个bug发送到bugs.swift.org,因为这是一个非常简单的示例,我们将非常感谢它谢谢,它现在可以添加set
。我要把这个bug提交给Swift项目