2009-05-07 8 views
0

NSMutableDictionar (NSMutableArray)에 UIImageView (s)의 인스턴스를 여러 개 추가하려고합니다.NSMutableDictionary에 UIImageView 추가하기

이 이미지의 위치를 ​​변경하려면 뒤로 이동하여 UIImageView 참조를 끌어낼 수 있도록이 작업을 수행하고 있습니다.

... 나는 사전 밖으로 정보를 당길 때, 그것은 단지 널 포인터를 반환하는 것으로 보인다

내가 이것을 구현하는 방법에 대한 어떤 제안? 나는 또한에 대한 DY/DX 값을 저장하기 때문에

// (for i = 0 to 30) 

UIImageView *newBall = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ball.png"]]; 
newBall.center = CGPointMake (arc4random() % 280 + 20, arc4random() % 440 + 20); 
[self.view addSubview:newBall]; 

NSMutableDictionary *dictBall = [[[NSMutableDictionary alloc] init] autorelease]; 
[dictBall setValue:newBall forKey:@"imgBall"]; 

// the dictionary is then added to the array 

[newBall release]; 

// end for loop 

는 (I는 사전을 사용하고 있습니다 .... n 개의 이미지 목록을 저장하고 나중에 참조 할 수있는 방법 쉬운 방법이있을 수 있습니다 움직임 변화율)

+0

위 코드 조각은 괜찮아 보입니다. 당신이하고 싶은 일에 기술적으로 아무런 문제가 없습니다. 아마 돌아가서 가정이나 코드의 다른 부분을 확인해야 할 것입니다. 상위 배열에 아무 것도 밟지 않았는지 확인하십시오. dy/dx 값이 정상적으로 작동합니까? – amattn

답변

1

위의 코드는 나에게 잘 보이지 않습니다.

루프를 통해 매번 NSMutableDictionary * dictBall을 새로 작성합니다. 루프가 존재 한 후에도 무언가를 유지하고 있습니까? 코드에서 보이지 않습니다. 이것은 당신의 사물이 무의미한 이유 일 수 있습니다.

for 루프 앞/앞에이 줄을 옮기면됩니다.

또한 UIViewImage를 사전에 저장 하시겠습니까? 왜 ID (태그 기반)와 좌표 (CGPoint 또는 CGRect)가 아닌가? 이렇게하면 태그를 사용하여 태그를 통해 UIimageView를 찾고 원하는 곳으로 이동할 수 있습니다. 덜 비싼 메모리.

+0

죄송합니다 - 배열에 추가하는 중입니다 ... 그냥 위의 코드 샘플에 넣지 않았습니다. (그 이유는 내가 거기에 코멘트를 넣어 ... 내 코드를 요약하려고했지만, 내가 더 혼란스럽게 만들었을 수도 ...) –