2009-09-06 48 views

回答

3

定義自己的結構來保存數據是相當容易的。您可以使用CGPoint結構類型(其中NSPoint幾乎是#define別名),但您確實需要定義您使用它的內容。

typedef struct _pair { 
    int first, 
    int second 
} pair; 

你可以再做:

對FOO; foo.first = 1; foo.second = 2;

請注意,如果您有固定數量的元素,這只是明智之舉。如果你正在尋找一組元素,你真的需要一個int數組。

3

有NSIndexSet可以包含一堆索引,並有一些方便的操作API。

爲了簡單的需要,您可以定義一個結構體,或者更好的是聲明一個類。我經常用一系列@properties聲明一個類,以合理化所有getter/setters來封裝數據。簡單,非常少的代碼,並且它簡化了重構以後添加功能(即,如果你決定你的結構真的想成爲一個類)。

1

CGPointNSPoint(請注意,NSPoint不適用於iPhone)可以正常工作,但您需要考慮使用的語義含義。如果你真的在處理矢量,那麼你應該使用這些矢量。但是,如果你只是處理對索引,你可能想要聲明自己的結構或類。

如果您確定只需要一個數據結構(即除了容納數據之外沒有任何功能),則聲明一個C結構。它非常簡單並且比Objective-C類使用更少的內存。但是,如果您希望它具有內置功能,請參閱@bbum解釋的課程。

相關問題