0

私はジョークアプリをやっています。ホームページはRootViewController、カテゴリテーブルからリストされたカテゴリのリストです。

ユーザーが変更を実行すると、データベースが更新されます。問題は、ホームページに戻ったときにテーブルが更新されないことです。アプリを再度実行すると、変更が表示されます。

試しましたが、結果は[tableView reloadData]あり[self.tableView reloadData]ませんでした。

ここにコードがあります:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{       
    return 1;
}   

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{
      WhySoSeriousAppDelegate *appDelegate = (WhySoSeriousAppDelegate *)[[UIApplication               sharedApplication] delegate];

      return appDelegate.jokes.count;
}    

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath    
{       
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier ] autorelease];

        UIView *activeColor = [[[UIView alloc] init] autorelease];
        activeColor.backgroundColor = [UIColor colorWithRed:170/256.0 green:50/256.0 blue:0/256.0 alpha:1.0];
        cell.selectedBackgroundView = activeColor;          
    }       

    WhySoSeriousAppDelegate *appDelegate = (WhySoSeriousAppDelegate *)[[UIApplication sharedApplication] delegate];
    Joke *joke = (Joke *)[appDelegate.jokes objectAtIndex:indexPath.row];   

    [cell setText:joke.category];       
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;       

    return cell;        
}

どうすれば問題を解決できますか?

4

2 に答える 2

0

UITableviewを更新するには、以下のコードを試してください。

    [table_view beginUpdates];
    [table_view deleteSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationLeft];
    [table_view insertSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationRight];
    [table_view endUpdates];

ありがとう...!

于 2012-04-26T13:02:58.710 に答える
0

変更されたレコードを表示するには、同じコントローラーのアプリ デリゲートで Joke データを再読み込みします。次に、テーブル ビューを再読み込みします。

于 2012-04-26T13:14:51.790 に答える