我想創建一個隨機數,但每次點擊按鈕時都會產生一個新的隨機數。我應該在哪裏放置隨機數聲明,以便它只創建一個隨機數?Objective-C中的隨機數字幫助?
0
A
回答
1
嘗試用常數播種隨機數發生器。也許嘗試:
srand(1);
當然,出於測試目的,您可能需要使用一個變量,所以你可以改變它,並有不同的「相同的隨機數」。
另一種方式是使用一個標誌(名字類似於randomNumIsGenerated
)來確定數字是否已經生成。您生成的第一次,它設置爲true,然後你的代碼來生成看起來是這樣的:
if (!randomNumIsGenerated)
{
/*generate random number*/
randomNumIsGenerated=true;
}
randomNumIsGenerated
必須是靜態的,否則,任何的類包含它有它自己的隨機每個實例只能設置一次的數字。使其爲靜態將確保所有實例使用相同的隨機數。或者最後,你可以設置一次隨機數,當程序啓動時,可能在你的啓動函數(Main,或者任何你稱之爲的)中。
0
你可以做這樣的事情:
- (IBAction)buttonPressed:(id)sender {
static int randomNumber = -1;
if (randomNumber == -1) {
randomNumber = arc4random() % (/* maxNumberYouWantGenerated */) + 1;
}
... // do stuff with the random number.
}
的arc4random()
功能可能是目前最好的隨機數發生器(rand()
和random()
具有不產生所有的隨機數的傾向),並且沒有調用它參數會使它自己發芽,所以你對這個帳戶很好。
static
關鍵字意味着randomNumber
將在初次調用該方法時初始化爲-1,但在此後每次都會保持相同的值(即一旦它生成,隨機數將保持不變) 。然後你可以使用randomNumber
知道它每次都是相同的隨機數。
您只需決定要生成的最大數量,然後將其放入方法中即可。
0
您可以使用-(void)setEnabled:(BOOL)
(NSButton從NSControl繼承)來簡單地禁用該按鈕(無論哪個按鈕恰好是),而不是確保只生成一個數字。在iOS下,服務於相同目的的UIControl has an "enabled" property。由於問題描述非常稀疏,所以不確定哪種方法最好。再給我們一些details,這樣我們可以提供更好的幫助。
相關問題
- 1. ObjectiveC隨機數字
- 2. 幫助用PHP隨機隨機序列
- 3. python中的隨機模塊幫助
- 4. 幫助我建立這個隨機數
- 5. Rails幫助重寫軌道隨機
- 6. 幫助JOIN,ORDER BY和隨機
- 7. 隨機幫助 - sql server 2008查詢
- 8. 幫助解析帶有隨機分隔符的字符串
- 9. 我需要幫助,創建一個隨機數字和變量的程序
- 10. C中的隨機數字#
- 11. flex中的隨機數字
- 12. Unity3D中的隨機數字?
- 13. C中的隨機數字
- 14. 需要一些幫助僞隨機數發生器
- 15. 需要Java隨機數生成器幫助
- 16. 猜測遊戲幫助需要隨機數
- 17. 需要幫助相機API幫助
- 18. 在vb6中隨機生成40個問題?請幫助我
- 19. 計數隨機數組中的數字
- 20. Rails的幫助改寫隨機MySQL的取景器到PostgreSQL
- 21. 字符串中的函數幫助
- 22. 需要關於隨機答案的簡單測驗幫助
- 23. 幫助!爲什麼我的IE用戶會被隨機註銷?
- 24. Eclipse的PDT內容幫助只是隨機工作
- 25. 需要幫助識別和關閉隨機出現的警告
- 26. 新手需要幫助的隨機記錄
- 27. 隨機播放模式與iPod的...幫助...目標C
- 28. Javascript的隨機數字?
- 29. 隨機數字的概率
- 30. Page_Load上的隨機數字
你使用的號碼是什麼?你爲什麼不想要生成新的數字?如果用戶退出應用並重新啓動,那麼您是否需要一個不同的隨機數?這些問題的答案可能會提示不同的UI設計。 – outis 2010-09-25 00:12:56
您正在開發OS X應用程序或iOS應用程序嗎? – outis 2010-09-25 00:20:31