我想創建一個隨機數,但每次點擊按鈕時都會產生一個新的隨機數。我應該在哪裏放置隨機數聲明,以便它只創建一個隨機數?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. 幫助隨機字符串函數VB.NET?
- 3. 幫助用PHP隨機隨機序列
- 4. 隨機數生成器幫助不生成隨機數 - C
- 5. python中的隨機模塊幫助
- 6. 幫助我建立這個隨機數
- 7. 需要幫助在記憶遊戲中隨機化數字
- 8. 需要幫助基於用戶輸入的數字隨機
- 9. 隨機數字遊戲幫助 - if語句發出
- 10. 幫助在二維數組中填充隨機數
- 11. Rails幫助重寫軌道隨機
- 12. 幫助JOIN,ORDER BY和隨機
- 13. 隨機幫助 - sql server 2008查詢
- 14. 獲取隨機增加隨機性幫助Powershell
- 15. 幫助解析帶有隨機分隔符的字符串
- 16. 需要幫助製作一個隨機的數學生成器
- 17. 查找MATLAB的功能,可以幫助找到隨機數
- 18. 我需要幫助,創建一個隨機數字和變量的程序
- 19. C中的隨機數字#
- 20. C中的隨機數字
- 21. flex中的隨機數字
- 22. Unity3D中的隨機數字?
- 23. 我需要幫助masm計算隨機數-10到10
- 24. 猜測遊戲幫助需要隨機數
- 25. 需要幫助使用隨機數和模
- 26. 需要一些幫助僞隨機數發生器
- 27. 需要Java隨機數生成器幫助
- 28. 需要幫助相機API幫助
- 29. Python幫助--->從文本文件中隨機選擇名稱
- 30. 在vb6中隨機生成40個問題?請幫助我
你使用的號碼是什麼?你爲什麼不想要生成新的數字?如果用戶退出應用並重新啓動,那麼您是否需要一個不同的隨機數?這些問題的答案可能會提示不同的UI設計。 – outis 2010-09-25 00:12:56
您正在開發OS X應用程序或iOS應用程序嗎? – outis 2010-09-25 00:20:31