我來自C++,我對Swift中的泛型函數有點困惑。Swift中的泛型函數
在C++中,我能做到這一點:
class Entity
{
template <typename T>
T *getComponent()
{
return (T *)(listComponent_[typeid(T).name()]);
}
};
,我可以做到這一點,從獲取特定Component
我Entity
Entity().getComponent<LifeComponent>();
我想重現此斯威夫特,但我無法弄清楚如何實現它。
在Swift中,我必須爲我的函數定義一個參數來確定我的類型。
在斯威夫特:
class Entity
{
func get<T>() -> T
{
return ??
}
}
我希望能夠做到:
Entity().get<LifeComponent>()
你能幫助我嗎?
[谷歌,先打:官方文檔(https://developer.apple.com/library/ios/documentation/swift/conceptual/swift_programming_language/Generics.html#//apple_ref/doc/uid/TP40014097-CH26 -XID_278)。 [谷歌,第三擊:教程](http://www.codingexplorer.com/generic-functions-in-swift/)。您不必「弄清楚」這一點:使用Google並閱讀文檔就足夠了。 – 2014-10-20 13:11:53
我知道如何創建泛型函數,以及如何使用它。我只想知道是否有一種方法可以像C++中那樣在Swift中傳入一個類型。 – cappie013 2014-10-20 13:21:32