viewDidLoad에서 arc4random을 호출하여 임의의 숫자를 얻는 iphone 용 애플리케이션을 개발 중입니다. 내 문제는 응용 프로그램이 시작될 때마다 arc4random에서 같은 번호를 가져옵니다. 나는 아이폰 장치에서 응용 프로그램을 테스트하고 장치 터치 스크린에서 응용 프로그램을 시작할 때이 동작을 보았다고 지적해야합니다. xcode에서 장치에서 응용 프로그램을 실행하면 다른 난수가 표시됩니다.arc4random은 항상 앱 시작시 동일한 초기 값을 반환합니다.
도움이나 조언을 보내 주시면 감사하겠습니다. 감사.
'arc4random'은 자동으로 시드해야합니다. 이것이 명시 적 시드 함수가없는 이유입니다. 사실, 당신은 결코이 행동을 보지 말아야합니다. 코드를 게시 할 수 있습니까? –
코드 완성도는 "int selected_book = (arc4random() % numberOfBooks) +1"입니다. (numberOfBooks는 값이 66 인 int입니다) –
이 코드는 앱이 시작될 때만 실행됩니까? 응용 프로그램이 종료되지 않고 백그라운드에서 실행되는 경우 응용 프로그램 : didFinishLaunching : (예를 들어) 이후에 호출되지 않지만 Xcode는 실행하기 전에 강제 종료됩니다. –