0
我有簽名的方法:傳遞一個類型變量作爲參數斯威夫特
func relatedObject<T: SomeType>(for type: T.Type) -> SomeRelatedObject
我有一個SomeType.Type
變量,我想以某種方式調用的方法,如:
let typeVariable: SomeType.Type = ...
let result = relatedObject(for: typeVariable)
但我得到一個錯誤:
Cannot invoke 'relatedObject' with an argument list of type '(for: SomeType.Type)'
是否有可能以某種方式實際調用該方法具有類型VA可變結構?
是'SomeType'協議? (如果它是一個具體的類型,你的代碼應該工作)。比較[爲什麼我無法將Protocol.Type傳遞給通用T.Type參數?](https://stackoverflow.com/q/45234233/2976878) – Hamish
確實如此,它是一個協議。謝謝!不知道有什麼區別。 –