2014-11-06 3 views
0

앱을 처음 열 때 두 이미지 (apple sauce.jpg8292.jpg) 중 하나를 표시하고 싶습니다. 그러나 앱을 여러 번 열었으며 항상 8292.jpg이 표시됩니다. 왜 그런가요? 어떻게 고칠 수 있습니까? 당신은 당신의 난수 생성기를 시드하지 않았다왜 이미지가 랜덤 화되지 않는가?

- (void)viewDidLoad { 

int randomimages = rand() % 2; 

switch (randomimages) { 
    case 0: 
     imageview.image = [UIImage imageNamed:@"apple sauce.jpg"]; 
     break; 
    case 1: 
     imageview.image = [UIImage imageNamed:@"8292.jpg"]; 
     break; 

    default: 
     break; 
} 

theLabel.text = @"Submit it!"; 

    [super viewDidLoad]; 

} 

답변

0

: 여기

내 코드입니다

$ man 3 rand 

[...] 더 시드 값을 제공하지 않으면, 기능이 자동으로

수정이 쉽습니다. 앱 스토어에 어딘가에 삽입하십시오. 예 : applicationDidFinishLaunching:에 rtup 프로세스가 있습니다. 난 당신의 코드를 실행하는거야

sranddev(); 
+0

그럼'.h' 파일에 들어 있나요? 또한'$ man 3 rand'을 삽입해야합니까? –

+1

아니요, 터미널에서'rand '문서를 읽는 방법입니다. 그리고'sranddev();'라인은'rand()'가 필요하기 전에 호출되는 함수 나 메소드로 들어갑니다. 예를 들어 앱을 시작할 때. –

0

, rand() 방법은 항상 16807을 반환합니다. 나는 모른다.

rand() 방법 전에이 코드 srand(time(NULL))를 추가하지만,이 코드, 편집

for(int i = 0 ; i < 5 ; i++) { 
    int randomNum = rand(); 
    NSLog(@"randomNum=%d, result=%d", randomNum, randomNum % 2); 
} 

정상 rand() 작업을하려고합니다. 효과가있을 것입니다.

관련 문제