2014-09-25 7 views
0

나는 아마추어이고,이 오류에 갇혀 있습니다! 확실히 간단한 뭔가 ...어설 션 오류 - [UITableView _endCellAnimationsWithContext :

- (void)addTapped:(id)sender { 
TechToolboxDoc *newDoc = [[TechToolboxDoc alloc] initWithTitle:@"New Item" thumbImage:nil fullImage:nil]; 
[_itemArray addObject:newDoc]; 
//[self.tableView beginUpdates]; 

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:_itemArray.count-1 inSection:0]; 
NSArray *indexPaths = [NSArray arrayWithObject:indexPath]; 
NSLog(@"%@",indexPath); 

[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:YES]; 

[self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionMiddle]; 
[self performSegueWithIdentifier:@"MySegue" sender:self]; 

    //[self.tableView endUpdates]; 
이 이 라인에 위반되는

는 당신 주위 [UITableView beginUpdates][UITableView endUpdates]를 추가 할 필요가

[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:YES]; 

답변

3

말한다 :

[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:YES]; 

을 클래스 참조에서 :

애니메이션에서 호출 될 때이 메서드의 동작입니다. 블록이 beginUpdates 및 endUpdates 메서드로 정의됩니다. UITableView 은 행 또는 섹션의 삭제를 처리 한 후에야 행 또는 섹션의 삽입을 지연시킵니다. 이는 삽입 및 삭제 메소드 호출을 으로 정렬하는 것과 관계없이 발생합니다. 이것은 을 삽입하거나 변경 가능한 배열에서 항목을 제거하는 것과는 달리 조작에 연속 삽입 또는 제거에 사용되는 배열 인덱스 에 영향을 줄 수 있습니다. 이 주제에 대한 자세한 내용은 iOS 용 Table View 프로그래밍 가이드의 행 삽입 및 삭제, 및 행 및 섹션 재로드를 참조하십시오.

+3

이제는 동일한 오류가 발생하지만 중단 점은 endupdates에 있습니다. – Jayrod7387

+0

Jayrod7387과 같은 문제가 있습니다. – livingtech

+2

필자가'numberOfRowsInSection'을 부정확하게 계산/반환했기 때문에 이런 일이 발생했습니다. – livingtech

0

나는 당신이 당신의 tableView에 행을 삽입하지만,이 라인에서 오류가 발생하는 이유 그 number of rows at section를 업데이트하지 않습니다 생각합니다. 행을 삽입하는 것과 함께 배열 수 또는 테이블 뷰의 행 수를 표시하는 데 사용하는 값을 늘려야합니다.

0

필자의 경우 Parse를 사용하여 몇 명의 사용자를 삭제했습니다 (그 중 하나는 내 iPhone 시뮬레이터였습니다). tableView를 새로 고칠 때마다이 오류가 발생합니다.

방금 ​​시뮬레이터에서 앱을 삭제하고 새 계정을 만들었으며 완벽하게 작동합니다.

@ droppy 님의 답변은 나에게 무엇이 잘못 되었나요?

누군가를 돕는 희망.

관련 문제