0

このxibを終了して戻るたびに、セルが重複しています。

米と砂糖の2つの材料を加えたとしましょう。出て戻ると、材料が2倍になります。これは、このコントローラーをロードするたびに発生します。

これは欠陥のあるコードだと思います:

- (void)viewWillAppear:(BOOL)animated {

[super viewWillAppear:YES];
    //fixed doubling up of ingredients by addingn else before the other if and corresponding bracket  Nov 13 falcon
if (self.groceryList) {

    self.arrIngredients = [((MealIdeaAppDelegate*)MI_SHARED_DELEGATE).dbCommunicator getMyGroceryListIngredients:self.groceryList.groceryListID];

    NSLog(@"data %@ ",self.groceryList.groceryListID);
    self.title = self.groceryList.groceryListName;
    txtfListName.text = self.groceryList.groceryListName;
        //Added else Nov 13 falcon
}else if ([self.groceryList.groceryListName caseInsensitiveCompare:kDeafaultGroceryListName] == 0) {
        [txtfListName setUserInteractionEnabled:NO];
    }

        [tblvGroceryListDetail reloadData];

}

4

1 に答える 1

1

問題は、配列に値を追加したことだと思います。終了して戻ると、viewWillAppear: が再度呼び出され、同じデータが配列に追加されます。したがって、データを 2 倍にします。このためには、次のコードを実行する必要があります。 viewDidLoad: メソッド

     -(void)viewDidLoad:(BOOL)animated
    {
       // do the code done in viewWillAppear here
    }
于 2012-11-13T18:39:08.890 に答える