0
因此,我不必編寫大量代碼來複制我的錯誤 - 這可能是我應該在這種情況下使用泛型,但感覺就像我的解決方案應該工作。所以,下面的代碼塊給我一個「類型DCServiceClient不符合協議DMServiceClient」:Swift - 約束關聯類型時編譯錯誤
protocol DMServiceEndpoint { }
protocol DCServiceEndpoint: DMServiceEndpoint { }
protocol DMServiceClient {
typealias Endpoint: DMServiceEndpoint
}
class DCServiceClient: DMServiceClient {
typealias Endpoint = DCServiceEndpoint
}
但是,如果我取消對相關類型(端點)的約束,它編譯沒有任何問題。由於DCServiceEndpoint符合約束條件(DMServiceEndpoint),因此它應該可以編譯。任何關於我在這裏失蹤的想法?多謝你們!
是的,不幸的是,我不知道具體的類是什麼在這一點上。我只知道它會符合協議。我們的服務客戶端類是非常通用的。在玩了一段時間之後,我開始認爲我們想要的是不可能的。 – justbaum30