2010-03-21 2 views
4

여기에서 수많은 질문을 훑어 보았습니다. 내 인생에서 내가 뭘 잘못하고 있는지 알 수 없습니다.NSMutableArray 내에서 CGPoints 저장 및 검색

내가있는 NSMutableArray의 내부 NSValues로 CGPoints의 배열을 저장하기 위해 노력하고있어 그래서 아이폰에 같은 지점 이름 :

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

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

모든 것이 원활하게 NSValue에 CGPoint에서 변환하는 것입니다. 그러나 요점을 되 찾으려고 할 때 나는 아무것도 얻지 못합니다.

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

NSLOG OUTPUT 
Point = {0, 0} 

포인트가 동일해야하지만 null 결과가 나타납니다.

테스트 목적으로 이것은 touchesBegan 메소드에서 발생합니다.

내가 잘못 생각하는 사람이 있습니까? 미리 감사드립니다.

+5

는'points' 전무인가 당신 ... 도움말? – kennytm

+0

Kenny, 고맙습니다. – MattDice

답변

2

배열을 메모리에 할당하고 초기화하지 않았습니다. 배열이 존재하지 않아서 내 포인트가 배열에 저장되지 않았습니다.

+2

만약 내가 이런 일이 일어날 때마다 돈이 있다면 ... –

-1

먼저 메모리에 가변 배열을 할당 :

points = [[NSMutableArray alloc] init]; 

그런 다음 삽입합니다. NSMutableArray

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

에서 CGPoint을 얻기를 위해 NSMutableArray

[ArrObj addObject:NSStringFromCGPoint(PointObj)]; 

CGPoint를 추가