Apple基础套件中是否提供了适当的结构来表示离散坐标系?我知道我可以只使用NSPoint的积分组件,按惯例保持它离散,甚至可以定义我自己的组件。
但是如果已经有一个正确输入的话,我会更喜欢这样做,并避免使用隐式/显式类型的nastiness。
答案 0 :(得分:5)
我不知道哪一个能满足您的确切需求。您当然可以使用CGPoint
或NSPoint
,但由于您知道值将是离散整数,为什么要在不存在的小数部分上浪费精度?此外,重复强制转换为整数值会很快变老。你可以更好地使用整数类型创建自己的typedef,如下所示:
typedef struct _DiscretePoint {
NSInteger x;
NSInteger y;
} DiscretePoint;
如果您知道值永远不会超过32位范围,您也可以使用int32_t
而不是NSInteger
- 这将节省64位模式下的一些空间。 (有关NSInteger
等的详细信息,请参阅this SO question)