2013-04-02 1 views
-1

새로운 기능입니다. 도움이 필요하시면 짧게 작성하는 방법 :개체가 많은 nsarray

effects = [[NSArray alloc] initWithObjects:@"Back1.jpg", @"Back2.jpg", @"Back3.jpg", @"Back4.jpg", @"Back5.jpg", @"Back6.jpg", @"Back7.jpg", @"Back8.jpg",@"Back9.jpg",nil]; 

태국. 나는 "다시 %의 i.jpg"@ 같은 것을 원하는, INT ++

답변

1

당신 루프에 대해 잘 알고 있습니까를?

int whatever = 100; 
NSMutableArray * effectsTmp = [NSMutableArray new]; 
for (int i = 0; i < whatever; i++) { 
    [effects addObject:[NSString stringWithFormat:@"Back%i.jpg", i]]; 
} 
NSArray * effects = effectsTmp; 
8

은 어쩌면 당신은 같은 것을 원하는 :

NSMutableArray * effects = [[NSMutableArray alloc] init]; 
if(effects) 
{ 
    for(NSInteger index = 0; index < 10; index++) 
    { 
     [effects addObject: [NSString stringWithFormat: @"Back%i.jpg", index]; 
    } 
} 
+1

어, * 비 - 이집트 * 중괄호? 나는 이것이 4 월 바보 같은 날이라는 것을 알고 있지만 진지하게, 남자? ;) – CodaFi

+0

나는 위의 물음과는 다른 질문 인이 이미지 –

+5

으로 srollView를 생성하려고합니다. –

0

필요한 배열의 크기에 따라 NSArray의 매우 간단한 서브 클래 싱을 활용할 수 있습니다. countobjectAtIndex:의 두 가지 메서드 만 재정 의하여해야합니다.

@interface StringArray : NSArray 
@end 

@implementation StringArray 

-(NSUInteger)count { 
    return 9; 
} 

-(id)objectAtIndex:(NSUInteger)index { 
    return [NSString stringWithFormat:@"Back%ld.jpg", (long)(index +1)]; 
} 

@end 

것은 그것을 사용하려면 인스턴스화 :

NSArray *stringArray = [[StringArray alloc] init]; 
NSLog(@"Array: %@", stringArray); 

이 솔루션은 for 루프를 통해 배열을 구축에 비해 코드의 몇 가지 추가 라인을 사용하지만 위쪽에, 덜 사용한다 큰 배열을위한 메모리.

이와 같은 배열은 일부 상황에서는 배열 컨트롤러의 모델 객체로 유용 할 수 있습니다.

코드 검토가 어떻게 될지 모르지만 일부는 하드 코딩 된 크기 및 형식 문자열에 약간의 작업이 필요할 수 있음을 알 수 있습니다.