2013-06-07 3 views
0

초기 선언시 아무 것도 포함하지 않는 문자열 배열이 필요합니다. 왜냐하면이를 사용자가 얻을 수있는 문자열의 저장소로 사용하기 때문입니다. 나는 루핑을 통해 이것을 할 것이다. NSArray를 사용하여 처음부터 명확한 크기의 배열을 선언하는 방법을 아는 사람이 있습니까? 감사! new Objective-C literals 구문을 사용Objective-C에서 명확한 크기가없는 배열 선언

NSMutableArray *array = [[NSMutableArray alloc] init]; 

또는 : 요소가 추가 및 제거 (즉 가변) 할 수없는 일정한 크기

+0

를 사용 –

+1

읽기 질문은 다시 생각해보십시오. 이제 마음에 오는 첫 번째 추측을 생각해보십시오. '[[NSArray alloc] init]'이 아닌가? – Mar0ux

+3

'[NSMutableArray array]'와 같이 변경할 수있는 배열을 원한다면. – FluffulousChimp

답변

2
  1. [[NSArray alloc] init]와 (당신이 크기를 지정할 필요가없는 경우) ....... array = [array arrayByAddingObject:string]

  2. [[NSMutableArray alloc] init]를 사용하고 NSMutable 어레이에 대한 시도 할 수 [array addObject:string]

4

있는 NSMutableArray,

NSMutableArray *array=[[NSMutableArray alloc] init]; 
+2

-1 이는 사용자가 원하는대로 올바르지 않습니다. NSArray는 변경 가능한 배열이 아닙니다. 그래서 사용자가 루핑하고 'NSArray'에 추가하려고 시도하면 변경할 수없는 배열을 만들 수 없으므로 객체를 추가하거나 제거 할 수 없습니다. 그들은'NSMutableArray'를 사용할 필요가 있습니다. – Popeye

+1

수정을 위해 -1을 제거했습니다. – Popeye

3

단순히 사용 NSMutableArray

NSMutableArray *array = @[]; 
5

나는 당신이 NSMutableArray을 의미한다고 가정합니다.

NSMutableArray은 임의의 개체 (특정 메모리 제한 사항)를 보유하기 위해 확장 할 수 있습니다. 그냥 일반적인 방법으로 만들어야합니다 : [[NSMutableArray alloc] init] 그리고 나서 객체를 추가하십시오.

모든 NSMutableArray에는 초기 용량이 있습니다. 이 물체를 초과하면 더 큰 용량을 조정하기 위해 일부 서적이 장면 뒤에서 발생하지만 사용자가 아무것도 할 필요가 없습니다. 당신이 NSMutableArray 더 이상 X 오브젝트를 개최 할 예정되고 있음을 알 수 없을 경우

, 당신은 배열이 그 능력이 있음을 지정할 수 있습니다

NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:X]; 

이 의미를 그 배열의 크기를 조정 배후없는 것 나중에 일어난다. 그것은 성능/효율성 향상이지만, 당신이 코드를하지 않더라도 여전히 작동합니다.

+0

"나중에 배열의 크기를 조정하면 나중에 발생합니다"-이게 무슨 뜻입니까? 새 항목을 추가 할 때 필요에 따라 배열이 확장됩니다. – rdelmar

+0

나는 가변 배열의 현재 용량을 초과 할 때 대개 발견되는 용량 배가 전략을 언급하고 있습니다. 원래 용량 한도를 초과하여 새 항목을 추가 할 때마다 용량이 하나씩 만 증가하는 것은 아닙니다. – occulus