2010-06-01 4 views
0

내 애플리케이션에 문제가 발생했습니다.데이터로드 - 앱이 테이블 뷰에서 시작됩니다.

한편으로는 내 앱이 시작될 때 표시되는 첫 번째보기는 tableviewcontroller 내의 tableview입니다.

반면에 내 응용 프로그램은 웹 서비스를 호출하여 데이터를 수집합니다. 이러한 메서드는 MyAppDelegate \ applicationDidFinishLaunching에 있습니다.

사실 내 tableview는 웹 서비스의 데이터가 필요한 사용자 정의 셀로 구성됩니다.

먼저 (테이블 뷰가있는)보기가 시작되고 MyAppDelegate \ applicationDidFinishLaunchin이 실행되는 것으로 나타났습니다.

결과적으로 웹 서비스에서 배열이 채워지지 않으므로 내 사용자 지정 셀의 레이블은 모두 null입니다.

나는 올바른 방법을 알고 싶습니다.

누구나 아이디어가 있다면 알려주세요.

Wallou

답변

1

사용 NSNotificationCenter는 테이블에 대한 reloadData에 필요로하는 당신의있는 UITableViewController로 통신합니다. (당신이 데이터를로드 한 후)

[[NSNotificationCenter defaultCenter] addObserver:self 
    selector:@selector(dataLoaded:) 
    name:@"myapp.dataloaded" object:nil]; 

- (void)dataLoaded:(NSNotification *)notification 
{ 
    [self.table reloadData]; 
} 

알림을 게시하려면 :

는 (당신의 UITableViewController.viewDidLoad에) 등록에 대한 응답에 대한

[[NSNotificationCenter defaultCenter] 
    postNotificationName:@"myapp.dataloaded" object:nil]; 
+0

들으. 내 첫 번째 아이폰 애플 리케이션. NSNOtificationCenter를 여러 번 읽었지만 사용하지 않아도됩니다. 코드에서 구현하는 데 약간의 도움이 될 수 있습니까 ?? 나는 약간 잃어 버렸습니다 (즉, 무엇을 할 것인가?) 다시 – wallou

+0

OK - 잠깐만 요. – willcodejavaforfood

+0

작동 할 수있는 코드로 내 대답을 업데이트했습니다 : – willcodejavaforfood

관련 문제