Tôi tự hỏi liệu có thể đạt được điều đó không.
Tôi có một Sân chơi như thế này:
protocol Foo {
func testPrint()
}
extension Foo {
func testPrint() {
print("Protocol extension call")
}
}
struct Bar: Foo {
func testPrint() {
// Calling self or super go call default implementation
self.testPrint()
print("Call from struct")
}
}
let sth = Bar()
sth.testPrint()
Tôi có thể cung cấp triển khai mặc định trong extension
nhưng nếu Bar
cần mọi thứ có trong triển khai mặc định cộng với những thứ bổ sung?
Nó bằng cách nào đó tương tự như việc gọi super.
các phương thức trong class
es để đáp ứng yêu cầu thực hiện mọi thuộc tính, v.v. nhưng tôi không thấy có khả năng đạt được điều tương tự với structs
.
Foo.testPrint(self)()
- vấn đề là nó không thành công do lỗi phân đoạn (đã thử nghiệm trên cả 7.0 GM và 7.1 beta)