Java에서는 Thread.sleep()을 사용하여 현재 스레드의 실행을 일시 중단 할 수 있습니다. Objective C에서 이와 비슷한 것이 있습니까?Objective-C/Cocoa에서 Java의 Thread.sleep()과 동일한 기능은 무엇입니까?
답변
예, +[NSThread sleepForTimeInterval:]
가 (당신이 미래의 질문 그냥 알다시피, 오브젝티브 C는 언어 자체입니다.; 객체 라이브러리 (이 중 하나 이상) 코코아입니다) 거기에 물론
, 표준 유닉스 sleep() 및 usleep() 호출도 사용할 수 있습니다. (코코아를 쓰는 경우, [NSThread sleepForTimeInterval :]에 머물러 있습니다.)
왜 자고 있니? 잠을 자면 UI와 백그라운드 URL이 다른 스레드에로드되지 않습니다. NSURL 비동기 메서드를 사용하면 현재 스레드에서 계속 작동합니다.
performSelector : withObject : AfterDelay가 실제로 원하는 것입니다. NSObject에 대한 메소드로 나중에 일정 시간 간격으로 메소드를 호출 할 수 있습니다. 나중에 수행 할 호출을 예약하지만 스레드가 처리하는 다른 모든 요소 (UI 및 데이터로드와 같은)는 여전히 계속됩니다.
잠자는 것은 테스트 목적으로 유용합니다. 내 애플 리케이션이 제대로 응답하는지 확인하기 위해 네트워크 지연을 시뮬레이트 할 수있다. 현재 로컬 웹 서버를 테스트 중이므로 모든 것이 본질적으로 순식간입니다. – brantonb
수면은 네트워크 지연을 테스트하는 잘못된 방법입니다. 시뮬레이터에서 네트워크의 다양한 속도를 테스트하는 방법을 보려면이 질문에 대한 답을 찾아보십시오. http://stackoverflow.com/questions/1502060/iphone-intermittent-network-testing 메인 스레드를 잠자 게하면 모든 것이 차단되기 때문에 네트워크 지연을 시뮬레이션하지는 않지만 앱을 더 많이 중단시킬 수 있습니다. –
Sleeping은 JAVA 스레드의 조인 작업에서 수행되는 작업을 시뮬레이션하는 데 유용합니다. 당신은 10 밀리 동안 자고, 스레드가 죽었는지 확인한 후 그것을 해제 할 수 있습니다. –
usleep()를 사용할 수도 있습니다
당신이 NSThread sleepForTimeInterval (주석 코드) 차단됩니다 데이터를 가져 오는 잠, 그러나 +을 사용하는 경우 [NSThread sleepForTimeInterval : ] (checkLoad 메서드)는 데이터 가져 오기를 차단하지 않습니다. 아래
내 예 번호 :
- (void)viewDidAppear:(BOOL)animated
{
//....
//show loader view
[HUD showUIBlockingIndicatorWithText:@"Fetching JSON data"];
// while (_loans == nil || _loans.count == 0)
// {
// [NSThread sleepForTimeInterval:1.0f];
// [self reloadLoansFormApi];
// NSLog(@"sleep ");
// }
[self performSelector:@selector(checkLoad) withObject:self afterDelay:1.0f];
}
-(void) checkLoad
{
[self reloadLoansFormApi];
if (_loans == nil || _loans.count == 0)
{
[self performSelector:@selector(checkLoad) withObject:self afterDelay:1.0f];
} else
{
NSLog(@"size %d", _loans.count);
[self.tableView reloadData];
//hide the loader view
[HUD hideUIBlockingIndicator];
}
}
는 자바 일초 자고 :
[NSThread sleepForTimeInterval:1.0f];
- 1. Java의 ManualResetEvent와 동일한 기능은 무엇입니까?
- 2. Java의 ClassName.class와 동일한 Scala는 무엇입니까?
- 3. Web.UI.Page의 IScriptControl과 동일한 기능은 무엇입니까?
- 4. Classic ASP의 ASP.NET HttpContext.Current.Items와 동일한 기능은 무엇입니까?
- 5. DB2의 SQL Server 트랜잭션과 동일한 기능은 무엇입니까?
- 6. .NET의 Java 애플릿과 동일한 기능은 무엇입니까?
- 7. ListView 컨트롤에서 DataList의 EditItemIndex와 동일한 기능은 무엇입니까?
- 8. Java에서 PHP의 list() 함수와 동일한 기능은 무엇입니까?
- 9. Android TableLayout에서 "colspan"과 동일한 기능은 무엇입니까?
- 10. IronPython의 C# "using"블록과 동일한 기능은 무엇입니까?
- 11. Mac OS에서 COM과 동일한 기능은 무엇입니까?
- 12. Linux에서 getfsstat()와 동일한 기능은 무엇입니까?
- 13. WP7의 Android Html.fromHtml()과 동일한 기능은 무엇입니까?
- 14. Java에서 IntPtr (C#)과 동일한 기능은 무엇입니까?
- 15. PHP에서 ASP.NET의 WebRequest와 동일한 기능은 무엇입니까?
- 16. WinForms의 Form.IsValid()와 동일한 기능은 무엇입니까?
- 17. Windows에서 diff 명령과 동일한 기능은 무엇입니까?
- 18. R에서 matlab의 pcolor와 동일한 기능은 무엇입니까?
- 19. Java의 HashMap Collection과 동일한 Blackberry API는 무엇입니까?
- 20. C#에서 Java의 enum과 동일한 것은 무엇입니까?
- 21. java의 "equals"를 오버라이드 (override)하는 clojure의 기능은 무엇입니까?
- 22. Ruby on Rails의 django-flatpages와 동일한 기능은 무엇입니까?
- 23. C# 및 .net에서 ExitThread (ExitCode) 및 GetExitCodeThread와 동일한 기능은 무엇입니까?
- 24. Objective-C에서 C++ 순수 가상 함수와 동일한 기능은 무엇입니까?
- 25. Android에서 ActionScript 3의 이벤트 브로드 캐스팅과 동일한 기능은 무엇입니까?
- 26. OSX에서 스프라이트 애니메이션의 "UIImageView"와 동일한 기능은 무엇입니까?
- 27. 레이아웃에서 장소를 유지하는 .hide()와 동일한 기능은 무엇입니까?
- 28. 동일한 JS obfuscator 기능은 다음과 같습니다
- 29. Objective-C에서 Java의 속성 클래스와 동일한 개념은 무엇입니까?
- 30. C#에서 Java의 캔버스 객체와 동일한 것은 무엇입니까?
Thnx :
객관적 C에 일초 자고 !
나중에 참조 할 수 있도록 정의는 실제로 + [NSThread sleepForTimeInterval :]입니다 (따라서 [NSThread sleepForTimeInterval : 0.1]처럼 사용됩니다). – TinkerTank
이것은 완벽합니다. 감사! 방금 애니메이션 블록을 끝내고 매력처럼 작동했습니다. – RileyE
주 therad에서자는 것이 어떨까요? – Dagon