0

ユーザーがアプリにログインした後、UITableViewにWebサービスからの特定のユーザー(彼のプロジェクト)のデータを入力しようとしています。

例えば:

tableData = [[NSMutableDictionary alloc] initWithCapacity:DICTIONARY_INITIAL_CAPACITY];
//CURRENT PROJECT
 //get the information from the server
 NSArray *currentProject = [[IHMObjectFinderServices sharedIHMObjectFinderServices]     getCurrentProjectAsArray:connectedUserId];
 if(![currentProject isEqual:[NSNull null]]) {
     //put the info in a dictionnary
     NSMutableDictionary *currentProjectDictionary = [[NSMutableDictionary alloc] initWithCapacity:PROJECT_DICTIONARY_CAPACITY];
     [currentProjectDictionary setObject:[currentProject objectAtIndex:INDEX_PROJECT_NAME] forKey:KEY_PROJECT_NAME];
     [currentProjectDictionary setObject:[currentProject objectAtIndex:INDEX_PROJECT_MANAGER] forKey:KEY_PROJECT_MANAGER];
     [currentProjectDictionary setObject:[currentProject objectAtIndex:INDEX_PROJECT_TAG] forKey:KEY_PROJECT_TAG];
     NSArray *activitiesForProject = [NSArray arrayWithArray:[[IHMObjectFinderServices sharedIHMObjectFinderServices] getAvailableActivities:[currentProjectDictionary valueForKey:KEY_PROJECT_TAG]]];
     [currentProjectDictionary setObject:activitiesForProject forKey:KEY_PROJECT_ACTIVITIES];

     [tableData setObject:currentProjectDictionary forKey:KEY_CURRENT_PROJECT];

現時点では、テーブルはviewDidLoadメソッドで読み込まれるため、問題は、テーブルの作成時にユーザーがまだ接続されていないことです。

reloadDataメソッドについて読みましたが、ユーザーがログインした後、一度だけテーブルをロードする方法がわかりません。誰かがこれの正しい手順を説明してもらえますか?

助けてくれてありがとう、マイケル

4

1 に答える 1

0

tableViewのデータが使用可能な場合は、何らかのコールバックメソッドが必要です。その中にreloadDataを入れるだけです。

- (void)dataIsAvailable
{
     // ... your code to set the tableData ...

     [self.tableView reloadData];
}
于 2011-04-19T08:19:15.990 に答える