我将跟踪一对int和NSUIntegers作为数组索引和其他东西。
是否有类似CGPoint的内容已定义?
如果重要的话,我正在iPhone上做图形处理。
答案 0 :(得分:3)
NSIndexSet可以包含一堆索引,并且有一些方便的操作API。
对于简单的需求,您可以只定义一个结构,或者更好地声明一个类。我经常声明一个带有一组@properties,@synthesizing所有getter / setter的类来封装数据。简单,非常少的代码,它简化了重构以便稍后添加功能(例如,如果你确定你的结构真的想成为一个类)。
答案 1 :(得分:3)
定义自己的结构来保存数据相当容易。您可以使用CGPoint结构类型(其中NSPoint几乎是#define别名),但您确实需要定义您正在使用它的内容。
typedef struct _pair {
int first,
int second
} pair;
然后你可以这样做:
对foo; foo.first = 1; foo.second = 2;
请注意,只有拥有固定数量的元素才有意义。如果您正在寻找一组元素,那么您真的需要一组整数。
答案 2 :(得分:1)
CGPoint
和NSPoint
(请注意iPhone上没有NSPoint
)可以正常工作,但您需要考虑使用其中任何一个的语义含义。如果你真的在处理向量,那么你应该使用它们。但是,如果您只是处理对索引,则可能需要声明自己的结构或类。
如果您确定只需要一个数据结构(即除了容纳数据之外没有任何功能的东西),请声明一个C结构。它非常简单,使用的内存比Objective-C类少。但是,如果您希望它具有内置功能,请使用@bbum解释的类。