typedef struct vs. Object - 好处

Tim*_*Tim 5 struct objective-c ios

我计划定义一个类,它的属性包含x/y网格的坐标.但是,我不确定采用这种设计的"最佳"方法.这是一个非常简单的问题,我只是想正确地做到这一点并且有正当理由!

一种解决方案是在对象内具有两个属性,类型' int',一个用于x,一个用于y.

另一个是定义包含x/y值的两个int的typedef结构并命名它<ClassPrefix>Coordinate.类似于CGSize

有没有其他/更好的方法来做到这一点?哪个更受欢迎?不知道如何证明两种方式的合理性.

谢谢!

蒂姆.

das*_*ght 11

答案是"哪一个更受欢迎?" 问题取决于几个因素:

  • 你计划创建多少这样的项目?- 如果答案是"数百万",那么struct胜利; 如果答案是"五十八",则对象获胜.
  • 你需要在它上面定义方法吗? - 如果答案为"是",则对象获胜; 否则,struct可能没问题.
  • 你打算定义它的数组吗?- 如果答案是"是",struct可能是更好的选择.
  • 你需要经常创建和销毁它吗?- 如果答案是"是",struct可能是更好的选择.

最终,您的设计约束可帮助您确定最佳选择; 没有普遍"更好"的数据结构.