我想用默认的变量实现创建协议扩展。这个简单的代码抛出了分段错误11,它也在操场上崩溃了。 当"设置"它工作正常。关键字已删除,但我无法简单地将值设置为" test"实现此协议的类中的变量 有什么提示吗?
import UIKit
protocol Prot {
var test: Int { get set }
}
extension Prot {
var test: Int {
return 1
}
}
struct TestStruct: Prot {
}
答案 0 :(得分:0)
如果你遇到分段错误,那肯定是一个Swift编译器错误。 即使这样有效,这段代码仍然不应该编译。
原因是您的扩展程序为get
定义了默认test
,但TestStruct
没有set
,因此它没有#39}。 ; t符合Prot
。
如果该错误不存在,您将收到TestStruct doesn't conform to protocol Prot
p.s:考虑向bugs.swift.org发送一个错误,因为它是一个非常小的例子,我们将不胜感激