2009-10-11 2 views
1

저는 UIView를 끝내기까지 영원히 업데이트하는 간단한 iPhone 앱을 만들고 있습니다.UIVIew를 몇 번이고 다시 업데이트하십시오.

while(1) { 
    // update view here 
}

을하지만 앱이 결코로드하지 완료 워크되지 않습니다

나는 아래 applicationDidFinishLaunching하고있는 viewDidLoad에서 이것을 시도했다. 나는 이것에 간단한 해결책이 있다고 확신한다, 나는 단지 그것의 그것을 모른다.

또한 이상적으로이 프로세스는 리소스를 거의 소비하지 않아야합니다. 등

의 viewDidLoad에서 화면이 업데이트를 그릴, 그것은 viewDidLoad에 반환하는 것을 허용하지로

+0

정확히 'UIView'로 무엇을하려합니까? 내용을 업데이트 하시겠습니까? 그 위치? –

+0

배경색 - 색상 구성표를 생성하는 앱을 만들고 있습니다. – igul222

답변

6

당신은,이 같은 while (1) 문이 없으며, 앱 등의 탭 처리와 같은 다른 통화를 얻을하지 않습니다 사용하여 타이머 작업 설정 :

updateTimer = [NSTimer scheduledTimerWithTimeInterval: kUpdateTimeInterval target:self selector:@selector(updateView) userInfo:nil repeats:YES]; 

을 실제로 업데이트를 수행 updateView라는 방법이있다. updateView 대신 setNeedsDisplay을 사용하여 뷰 클래스의 -drawRect 메서드를 호출하고 실제 드로잉을 수행 할 수 있습니다.

이제 끝이 나는 것은 viewDidLoad가 반복 작업을 설정하고 모든 kUpdateInterval에서보기가 업데이트된다는 것입니다.

+0

감사합니다 - 정확히 내가 뭘 찾고 있었는지 :) – igul222

1

항상보기를 업데이트하는 대신 표시중인 데이터가 변경 될 때 -setNeedsDisplay 메서드를 호출하면됩니다.

관련 문제