2012-11-13 55 views
0

每當我退出這個xib並返回時,我都會得到重複的單元格。當再次加載vc/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]; 

}

+0

add image plz。 ??? – Omarj

回答

1

我認爲這個問題是你已經添加了值的數組,當u退出並返回,viewWillAppear中:又被稱爲它再次將相同的數據添加到數組中,因此數據翻倍,爲此,您應該在viewDidLoad中執行代碼:方法

 -(void)viewDidLoad:(BOOL)animated 
    { 
     // do the code done in viewWillAppear here 
    } 
+0

你是對的,那是問題所在。我在學習,所以你能解釋爲什麼會發生這種情況嗎?謝謝! –

+0

剛剛重新啓動應用程序,現在使所有單元翻倍,使用控制器切換時的問題已經結束,但是現在是它引導到該控制器時的問題。每當你回到一個新的視圖控制器viewWillAppear:和viewDidAppear:時,我都會用新代碼 –

+0

修改帖子。但是viewDidLoad:僅當視圖控制器第一次加載時才被調用。這是您的第一條評論的答案。我不清楚你的第二個評論,所以希望你能多解釋一下。 –

相關問題