2011-09-25 11 views
0

내 응용 프로그램이로드되면 didFinishLaunchingWithOptions을 사용하여 인터넷의 데이터를 nsarrays로 파싱합니다. 내 질문은 사용자가 '집'버튼을 사용하여 응용 프로그램을 만든 다음 응용 프로그램을 다시로드 할 때 데이터가 어떻게 다시로드 될 수 있는가입니다. (데이터가 다시로드되지 않으면 웹 사이트에 업데이트가있는 경우 새 업데이트가 표시되지 않기 때문에).종료 응용 프로그램 iOS

답변

1

응용 프로그램 위젯에 applicationWillEnterForeground 메서드를 추가하십시오. 거기에 데이터를로드하거나 원하는 경우로드하기 위해 스레드를 시작하십시오.

사용자가 오랫동안 유휴 상태가 될 수 있기 때문에 앱이 열려있는 동안에도 정기적으로 새 데이터를 확인해야합니다.

+0

우수. 질문이 하나 더 있습니다. 응용 프로그램이로드 될 때 기본 이미지를 어떻게 오버레이 할 수 있습니까? 사용자가 응용 프로그램을 다시 시작할 때로드됩니다. (전경이 된 후) –

+1

@spike lee 추가 질문을하기 위해 주석 섹션을 사용하지 마십시오. – memmons

0

제쳐두고 applicationDidFinishLaunchingWithOptions에서 차단할 수있는 사항을 수행하면 안됩니다. 동기식 NSURLConnection API를 사용하는 경우 OS가 실행하는 데 시간이 너무 오래 걸리므로 앱이 종료 될 위험이 있습니다. 비동기/NSURLConnectionDelegate API를 사용하거나 배경 스레드에서 네트워킹을 수행하고 UI를 업데이트해야 할 때 주 스레드로 다시 호출하는 것이 가장 좋습니다 (UIKit은 스레드 안전성이 없기 때문에 백그라운드 스레드에서 호출되는 것을 좋아하지 않습니다. 때로는 효과가있는 것처럼 보이지만 조만간 당신을 물 으려고 돌아올 것입니다.)

관련 문제