2010-08-07 4 views
0

배열을 사용하여 10 개의 버튼을 만들고 싶습니다. 그것을 만드는 방법? 사용 중임버튼 배열을 만드는 방법 Object?

array = [[[NSArray alloc] initWithObjects:button1, button2] retain]; 

그러나 함수 호출에서 Missing Sentinel에 알려줍니다. 어디에서, 내가 틀렸어?

답변

1
NSArray *myButtons = [[NSArray alloc] initWithObjects:button1, button2, nil]; 

이제 배열에는 할당 후 개수가 1이므로 보유 할 필요가 없습니다. 또한

array = [[NSArray alloc] initWithObjects:button1, button2, nil]; 
//              ^^^^^ 

에서, +alloc 방법은 이미 객체를 반환 : 당신이 배열을 필요가없는 경우

는 그냥

[myButtons release]; 
+0

[배열 objectAtIndex : i.frame = CGRectMake (50, 50, 100, 30); 이 구문에서 내가 잘못된 것입니다. 다음은 for 루프입니다. – Tauquir

+0

@Tauquir : objectAtIndex에는 정수가 필요합니다. 먼저 인덱스'i'에있는 객체를 변수로 가져와 프레임 속성을 CGRectMake (...)에 할당해야합니다. – Pablo

1

-initWithObjects: 방법은 nil가로 끝나는해야 해제 +1의 개수를 유지합니다. -retain은 필요 없습니다.

1

배열의 종단 nil이 누락되었습니다. 당신은 더블 유지 수로

array = [[[NSArray alloc] initWithObjects:button1, button2,nil] retain];

그러나 가능성이 새는 이잖아. 더 좋을 수도 있습니다.

array = [[NSArray arrayWithObjects:button1, button2,nil] retain];

+0

배열에서 이러한 객체의 순서를 임의로 섞을 수 있습니까? – Tauquir

+0

@Tauquir : 예. – kennytm

+0

@KennyTM : 배열에서 이들을 셔플하는 방법을 알려주시겠습니까? 솔루션을 제공 할 수 있습니까? – Tauquir

관련 문제