페이지

2010년 10월 28일 목요일

필요한 랜덤수의 개수를 담으면, 랜덤수를 담은 배열을 리턴하는 메소드

+ (NSArray*)makeRandomIndexArray:(NSUInteger)countOfIndices
{
srand(time(NULL));
NSMutableArray* indices = [[NSMutableArray alloc] initWithCapacity:countOfIndices];
NSMutableArray* tempArray = [[NSMutableArray alloc]initWithCapacity:countOfIndices];
for (NSUInteger i = 0; i < countOfIndices; i++) 
{
[tempArray addObject:[NSNumber numberWithInt:i]];
}
for (NSUInteger i = 0; i < countOfIndices; i++) 
{
NSUInteger randomNumber = (rand()% (countOfIndices-i) );
NSNumber* number = [tempArray objectAtIndex:randomNumber];
[indices addObject:number];
[tempArray removeObjectAtIndex:randomNumber];
}
[tempArray release];
return (NSArray*)[indices autorelease];
}

댓글 없음:

댓글 쓰기