CG / NSPoint类整数元组类型?

时间:2009-11-20 17:10:29

标签: iphone objective-c cocoa

Apple基础套件中是否提供了适当的结构来表示离散坐标系?我知道我可以只使用NSPoint的积分组件,按惯例保持它离散,甚至可以定义我自己的组件。

但是如果已经有一个正确输入的话,我会更喜欢这样做,并避免使用隐式/显式类型的nastiness。

1 个答案:

答案 0 :(得分:5)

我不知道哪一个能满足您的确切需求。您当然可以使用CGPointNSPoint,但由于您知道值将是离散整数,为什么要在不存在的小数部分上浪费精度?此外,重复强制转换为整数值会很快变老。你可以更好地使用整数类型创建自己的typedef,如下所示:

typedef struct _DiscretePoint {
    NSInteger x;
    NSInteger y;
} DiscretePoint;

如果您知道值永远不会超过32位范围,您也可以使用int32_t而不是NSInteger - 这将节省64位模式下的一些空间。 (有关NSInteger等的详细信息,请参阅this SO question