0

每次我退出这个 xib 并返回它时,我都会得到重复的单元格。

假设我添加了两种成分,大米和糖。如果我退出并返回,我有双倍的成分。每次我加载这个控制器时都会发生这种情况。

我认为这是错误的代码:

- (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: 再次将相同的数据添加到数组中,因此将数据加倍,为此您应该执行以下代码viewDidLoad:方法

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