我试图为cgpoint和cgvector创建一个非常简单的泛型。我只想插入我的变量,把x,y或dx,dy乘以2

func dblPt<T>(inout point: T){
    // double cgpoint, or cgvector

}

我的问题是我想不出如何引用x或y,vs dx和dy。我没有用泛型写过任何东西。最好的方法是什么

最佳答案

不要编写泛型函数,而是编写重载函数——也就是说,使用cgvector和cgpoint执行两次。您可以将它们命名为相同的名称,并使用任何一种类型来调用它们,但是内部具有不同的实体。

09-04 21:09