2011-05-10 4 views
1

를 다시로드 할 때 - 간단해야하지만, 그것은 나에게 많은 문제의 원인 : 두 번째 줄에아이폰 : 충돌 내가 다음 코드 섹션을 사용 해요있는 tableview 행

NSUInteger index[] = {1,0}; // top row of section one 
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath  
indexPathWithIndexes:index length:2]] withRowAnimation:UITableViewRowAnimationNone]; 

코드 충돌, "섹션 0의 행 수는 업데이트 전에 섹션 0의 행 수와 동일하지 않습니다."

이 오류는 사실이며 섹션 0의 행 수를 변경합니다. 하지만 분명히 섹션 1에서 행을 다시로드 할 수 있는지 여부에 영향을 미치지 않아야합니다!

- 뭔가 다른 뭔가 잘못 어딘가 가고 작동, 또는 얼마나

암을 오해? 어떤 도움이나 아이디어가 많이 감사합니다 :)

답변

0

나는 또한 numberOfRowsInSection을 업데이 트해야한다고 생각합니다.

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 

    return rowCount; 
} 
+0

업데이트 중입니다. 절망적 인 점은 섹션 1의 행 수가 업데이트 전과 후에 동일하다는 것입니다. 예, 섹션 0의 행 수가 변경되어 오류가 발생합니다. 하지만 섹션 0의 행 수가 변경되는 동안 반드시 섹션 1을 다시로드 할 수 있습니까? –

+1

각 섹션에 대해 별도의 행을 반환해야합니다.이 메서드에서 스위치 대/소문자를 사용할 수 있습니다. switch (indexPath.section) { \t case0 : case1 :} – Rony

+0

그러나 오류는 "섹션 0의 행 수는 업데이 트하기 전에 제로 섹션에서 행의 개수와 동일하지 "그래서 당신은 어딘가에 섹션 0을 업데이 트하려는 것 같아요. – visakh7

0

당신이 다음 (아마 삭제 또는 일부 행을 추가하여) 섹션 0의 행 수를 (다시로드) 변경하는 경우 -

(NSInteger)있는 tableView : (jQuery과 을 *) tableView numberOfRowsInSection : (NSInteger) 섹션

은 새 행 수를 얻기 위해 호출됩니다. 섹션 0에서 행을 삭제 한 경우 올바른 행 수 즉 1 행 미만을 반환해야합니다.

기본적으로 섹션 0의 행 수에 [someArray count]를 반환하는 경우이 someArray도 업데이트해야합니다.

+0

저는 이미 이것을하고 있습니다 - 섹션 0의 행 개수는 변하지 만 1에서는 변하지 않습니다. 섹션 1의 첫 번째 행을 다시로드하려고 시도하지만 섹션 0과 관련된 오류가 발생합니다. –

+0

처음에는 섹션 0에 5 개의 행이 있습니다. 그리고 섹션 5의 행 수로 5를 반환합니다. 데이터 소스 메소드. 당신은 섹션 0의 행 수를 변경했다. 따라서 numberOfRowsInSection : 메서드가 다시 호출되어 각 섹션의 업데이트 된 행을 가져옵니다. 여기에서 5를 반환하지 않아도됩니다. 업데이트 된 값, 즉 섹션 0에있는 새로운 행 수를 반환해야합니다. 오류 메시지가 명확하게 표시됩니다. –

+0

네, 맞습니다, 이것은 섹션 1과 관련이 없습니다. 그러나 문제는 데이터 소스 메소드입니다 numberOfRowsInSection : 섹션 0의 행 수를 업데이트 했으므로 업데이트 된 행 수가 필요합니다 –

관련 문제