2012-11-13 2 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

이미지 추가 plz. ??? – Omarj

답변

1

나는 문제가 당신이 배열에 값을 추가 한 것으로 생각하고 u를 종료하고, viewWillAppear를 반환 할 때 다시 호출 따라서 동일한 데이터를 배열에 다시 한 번 추가합니다. 따라서 데이터가 두 배로됩니다.이 경우 viewDidLoad에서 코드를 수행해야합니다. 메서드

+0

당신이 맞습니다, 그것이 문제였습니다. 나는 배우고있어, 왜 이런 일이 일어 났는지 설명해 주시겠습니까? 감사! –

+0

그냥 응용 프로그램을 재부 팅하고 지금 모든 셀을 두 배로, 컨트롤러로 전환 할 때의 문제는 끝났지 만 지금은 해당 컨트롤러로 부팅 할 때 발생합니다. 새보기 컨트롤러로 돌아올 때마다 새로운 코드 –

+0

으로 게시물을 수정하고 있습니다. viewWillAppear : 및 viewDidAppear :이 호출됩니다. 그러나 viewDidLoad : 뷰 컨트롤러가 처음으로로드 될 때만 호출됩니다. 이것은 귀하의 첫 번째 의견에 대한 답변입니다. 나는 두 번째 코멘트에 대해 명확하지 않으므로 좀 더 설명해 주시기 바랍니다. –

관련 문제