Avatar
プロトコル使ったら普通にプロパティオーバーロードできた。 @swift-4.2.4 protocol P { var a: Int { get } } extension P { var a: Int { return 42 } } protocol Q { var a: Bool { get } } extension Q { var a: Bool { return true } } struct S: P, Q {} let s = S() let x: Int = s.a let y: Bool = s.a print(x) print(y)