2009-07-23 9 views
0

テーブルビューでデータを変更するUISegmentedControlがあります。テーブルビューの行を更新する

たとえば、タブ1の場合は5行、タブ2の場合は2行を表示します。 2番目のタブをクリックすると、最初の2つの行は新しい値を取得しますが、3番目から5番目の行の古いデータは残ります。どのように私はそれらをクリアすることができますか?

+0

私はあなたがiPhone上のオブジェクトcで作業していると仮定しています。これらのタグを追加してください。また、タブごとに1つのテーブルビューを持つUITabViewControllerがあると言っていますか?また、読みやすいように、コードを強調表示してからコードフォーマットボタンを押して、正しく表示されるようにしてください。 – TahoeWolverine

答えて

1

はここでチェックアウトするための簡単なサンプルコードです:iPhoneCoreDataRecipes

を話題に、ここに甘い提供方法の一つである:

// If I want to delete the next 3 cells after the one you click 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSMutableArray* indexPaths = [NSMutableArray array]; 
    for (int i = indexPath.row + 1; i < indexPath.row + 4; i++) 
    { 
    [indexPaths addObject:[NSIndexPath indexPathForRow:i inSection:0]]; 
    } 

    [tableView beginUpdates]; 
    [tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade]; 
    [tableView endUpdates]; 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
} 

私は私が正しくあなたを理解していれば、この問題に遭遇したこと更新によってセルは削除されません。だから、それらを削除して、次にコールアップデート。がんばろう!

+0

forループを確認してください。正しく表示されません。 –

+0

@ A-Live私はいくつかトリッキーなことをしていることを認識しています。特に何かを呼び出すのですか? – TahoeWolverine

+0

これは何もしません、初期値は最終値と一致しています。また、境界外に出るのを防ぐために、ループの前または内側にインデックスの検証が必要です。 –

関連する問題