CGPoint与整数的等价?

Iva*_*ica 18 c iphone core-graphics objective-c

干杯,

我喜欢在C中严格打字.因此,如果我特别需要整数,我不想存储浮点数的二维向量.是否有Apple提供的等效CGPoint数据将数据存储为整数?

我已经实现了我的类型Vector2i及其伴随功能Vector2iMake()àCGPoint,但是我内心深处的一些东西尖叫说苹果已经存在了.


更新解释.

我需要一个数据类型来存储棋盘游戏中的坐标.这些绝对是整数.如果我要实现基于区块的回合制策略或基于区块的RPG,也是如此.

Dav*_*ong 7

(直接回答问题......)

我不知道"NSIntegerPoint",但是制作一个并不困难:

struct NSIntegerPoint {
   NSInteger x;
   NSInteger y;
};
Run Code Online (Sandbox Code Playgroud)

以及类似的东西:

CG_INLINE NSIntegerPoint
NSIntegerPointMake(NSInteger x, NSInteger y)
{
  NSIntegerPoint p; p.x = x; p.y = y; return p;
}

CG_INLINE bool
__NSIntegerPointEqualToPoint(NSIntegerPoint point1, NSIntegerPoint point2)
{
  return point1.x == point2.x && point1.y == point2.y;
}
#define NSIntegerPointEqualToPoint __NSIntegerPointEqualToPoint
Run Code Online (Sandbox Code Playgroud)


cdu*_*uhn 6

如果您碰巧将游戏板表示为存储在非稀疏嵌套数组中的对象,那么您可能需要考虑子类化NSIndexPath,或直接使用它.

从课程参考:

NSIndexPath类表示嵌套数组集合树中特定节点的路径.此路径称为索引路径.

索引路径中的每个索引表示从树中的一个节点到另一个更深的节点的子数组的索引.