以隨機時間間隔重複執行方法的最佳方式是什麼,例如該方法中的代碼以1s,3s,7s,10s,11s,13s,19s,22s運行等等。無限的時間?以隨機時間間隔執行方法
0
A
回答
5
我會設置一個計時器,並在每次通過檢查一個隨機數,如果該隨機數命中,然後調用該函數:
[NSTimer scheduledTimerWithInterval: 1.0 target:self selector:@selector(targetMethod:) userInfo:nil repeats: YES];
,並在targetMethod
if(arc4random() % 10 == 1)
{
//call your function
}
2
int randomInt = (arc4random() % 100) + 1;
NSTimer *yourTimer = [NSTimer scheduledTimerWithTimeInterval:randomInt target:self selector:@selector(timedMethod:) userInfo:nil repeats:YES];
上面的代碼將在1s內火在隨機時間間隔100秒
1
您可以定義時間按需要或你想要的,計算它和使用 -
[NSTimer scheduledTimerWithTimeInterval:yourTime target:self selector:@selector(mainloop) userInfo:nil repeats:YES];
1
試試這個:
-(void) executeMethod
{
NSLog(@"Method being executed");
}
-(void) callingRandomTimedMethod
{
for (int i = 1; i > 0; i=i+2) {
[self executeMethod];
sleep(i);
}
}
這給像輸出(檢查時間間隔):
> 2012-06-27 11:59:31.757 FirstApp[804:fb03] Method being executed
> 2012-06-27 11:59:32.760 FirstApp[804:fb03] Method being executed
> 2012-06-27 11:59:35.762 FirstApp[804:fb03] Method being executed
> 2012-06-27 11:59:40.765 FirstApp[804:fb03] Method being executed
> 2012-06-27 11:59:47.767 FirstApp[804:fb03] Method being executed
> 2012-06-27 11:59:56.769 FirstApp[804:fb03] Method being executed
相關問題
- 1. 如何以隨機時間間隔執行任務?
- 2. 在隨機時間間隔
- 3. 如何暫停執行隨機時間間隔
- 4. 間隔執行方法
- 5. Java:以指定的時間間隔執行方法
- 6. 隨機時間間隔後的調用方法
- 7. 一定的隨機時間間隔後的調用方法
- 8. 以設定的時間間隔執行方法的最有效方法?
- 9. python autoclicker - 隨機時間間隔
- 10. 將間隔時間更改爲隨機?
- 11. Java Swing Timer的隨機時間間隔?
- 12. 印在隨機時間間隔用JavaScript
- 13. Android相機takePicture()方法執行時間
- 14. ViewFlipper:使用隨機孩子隨機時間間隔翻轉
- 15. 在隨機時間間隔內做隨機函數(JQUERY)
- 16. Unprecise和隨機代碼執行時間
- 17. 如何在Nodejs中以隨機時間間隔創建隨機對象?
- 18. 創建一個時間間隔,該時間間隔將導致函數在JavaScript中的隨機時間運行
- 19. 以特定間隔生成隨機數
- 20. 隨時間間隔生成隨機顏色
- 21. 設置間隔隨機+超時
- 22. 如何執行日期/時間間隔
- 23. 執行觸發器的時間間隔
- 24. 在VB中設置隨機定時器時間間隔
- 25. 如何同時顯示3個隨機數和時間間隔
- 26. 使用隨機時間間隔計時器
- 27. C++ 11計時庫 - 如何在特定的時間間隔後執行方法?
- 28. 以固定的時間間隔重複執行任務
- 29. 以毫秒項目的時間間隔執行宏
- 30. allegro 5以一定的時間間隔執行活動
當然不是最好的辦法。 –
代碼會在睡眠時完全掛起..不太好用這個。 – Floris497