Objective c 将GLKVector转换为对象

Objective c 将GLKVector转换为对象,objective-c,colors,glkit,Objective C,Colors,Glkit,我正在为一个“Color”类编写一个方法,该类将从GLKVector4数组中随机选择一种颜色(如GLKit中所示)。颜色如下所示: self.WHITE=GLKVector4Make(1.0, 1.0, 1.0, 1.0); self.RED=GLKVector4Make(1.0, 0.0, 0.0, 1.0); self.GREEN=GLKVector4Make(0.0, 1.0, 0.0, 1.0); self.BLUE=GLKVector4Make(0.0,

我正在为一个“Color”类编写一个方法,该类将从GLKVector4数组中随机选择一种颜色(如GLKit中所示)。颜色如下所示:

    self.WHITE=GLKVector4Make(1.0, 1.0, 1.0, 1.0);
    self.RED=GLKVector4Make(1.0, 0.0, 0.0, 1.0);
    self.GREEN=GLKVector4Make(0.0, 1.0, 0.0, 1.0);
    self.BLUE=GLKVector4Make(0.0, 0.0, 1.0, 1.0);
    self.BLACK=GLKVector4Make(0.0, 0.0, 0.0, 1.0);
我想把它们放到一个数组中,这样我就可以随机挑选一个。问题是GLKVector4不是NSArray友好的,因为它们不能被识别为type id,我想不出一种方法来轻松地转换它们


有没有办法将GLKVector转换成我可以放入数组中的东西?更重要的是,这是组织颜色的好方法吗?也许还有更合适的方法。

为什么不使用基本的C数组呢

GLKVector4 colors[5] = {self.WHITE, self.RED, self.GREEN, self.BLUE, self.BLACK};
//...
GLKVector4 randomColor = colors[arc4random_uniform(5)];

为什么不使用基本的C数组呢

GLKVector4 colors[5] = {self.WHITE, self.RED, self.GREEN, self.BLUE, self.BLACK};
//...
GLKVector4 randomColor = colors[arc4random_uniform(5)];