2010-03-21 123 views
4

我已經瀏覽了無數在這裏和其他地方的問題,無法爲我的生活弄清楚我做錯了什麼。在NSMutableArray內部存儲和檢索CGPoints

我試圖存儲一個NSMutableArray內CGPoints數組作爲NSValues指定地點,像這樣在iPhone上:

NSValue *point = [NSValue valueWithCGPoint:firstTouch]; 
NSLog(@"NSValue *point = %@", point); 
[points addObject:point]; 

NSLOG OUTPUT 
NSValue *point = NSPoint: {120, 221} 

一切都從CGPoint順利轉換成NSValue。但是當我試圖找回點時,我什麼也得不到。

NSValue *getPoint = [points objectAtIndex:0]; 
CGPoint thePoint = [getPoint CGPointValue]; 
NSLog(@"Point = %@", NSStringFromCGPoint(thePoint)); 

NSLOG OUTPUT 
Point = {0, 0} 

點應該是相同的,但我得到一個空結果。

出於測試目的,這在touchesBegan方法中發生。

有沒有人有任何想法我要去哪裏錯了?提前致謝。

+5

是'points'零? – kennytm 2010-03-21 06:56:46

+0

謝謝Kenny,那是問題所在。 – MattDice 2010-03-21 07:12:24

回答

2

我從來沒有將我的數組分配到內存中並初始化它。我的觀點並沒有被存儲到數組中,因爲沒有數組存在。

+2

男人,如果我每次發生這種事的時候都有一美元...... – 2010-08-11 22:33:44

-1

首先分配你的可變數組存儲:

points = [[NSMutableArray alloc] init]; 

然後插入。

1

添加CGPointNSMutableArray

[ArrObj addObject:NSStringFromCGPoint(PointObj)]; 

NSMutableArray

CGPoint pointObj2 = CGPointFromString([ArrObj objectAtIndex:index]); 

越來越CGPoint這可能幫助你..