В следующем примере
import SwiftUI
class AbstractOverride {
open func configurationView() -> AnyView {
if Features.TEST_VERSION {
return AnyView(Text("override configurationView()"))
} else {
return AnyView(EmptyView())
}
}
open func someConfigurationView() -> some View {
if Features.TEST_VERSION {
return AnyView(Text("override someConfigurationView()"))
} else {
return AnyView(EmptyView())
}
}
}
class SubclassOverride: AbstractOverride {
override func configurationView() -> AnyView { // no compiler error
return AnyView(Text("Test"))
}
override func someConfigurationView() -> some View { // compiler error "Method does not override any method from its superclass"
return AnyView(Text("Test"))
}
}
Я получаю ошибку компилятора compiler error "Method does not override any method from its superclass"
в override func someConfigurationView() -> some View
.
Ошибка компилятора не возвращается AnyView
.
кто-нибудь может объяснить, что здесь происходит? Почему Swift не распознает одинаковые сигнатуры методов?
Это iOS 13, Xcode 11.5