是否有Cocoa类型用于表示3D点

vid*_*ige 9 cocoa objective-c

Cocoa中有一个NSPoint类型来表示二维空间中的点.我找不到表示3D类型的方法.是否有一个,在这种情况下它叫什么?或者我应该自己动手?

pet*_*ert 5

对,做你自己的.我使用这样的东西:

typedef struct Point3D_ {
  CGFloat x, y, z;
} Point3D;
Run Code Online (Sandbox Code Playgroud)

  • @Joe Blow类带来多态,继承和封装.我不会有3D点扩展任何其他类(不需要多态)我不会让任何其他类派生它(不需要继承),我不会看到什么样的隐藏数据它需要处理(不需要封装).也就是说,您可以像处理类的方法一样轻松地创建处理3D点的函数.我在这里错过了什么?如果没有它可以获得相同的有用好处,那么使用Objective-C运行时的成本是什么呢? (4认同)
  • @vidstige:不,他们不会.他们不适合iOS,他们不会很快.点 - 2D或3D - 就是:一个点.它不需要任何其他东西,只需要其他东西,因此添加Obj-C的消息传递开销毫无意义.良好的工程设计是避免*过度工程*.一点只是一点. (2认同)