채팅 아이폰 앱에서 일하고 있습니다. 수정하지 못하는 문제가 있습니다.
나는 이것에 대한 몇 가지 해답을 보았지만, 나는이 상황을 내가 가진 상황에서 고치는 것으로 보이지 않는다.ios : 스크롤 할 때 UITableViewCell이 사라집니다.
나는 TableView를 사용하여 메시지를 표시하고 때때로 스크롤하면 셀이 사라집니다. 부모보기 (내 채팅보기를 푸시하는 데 내비게이션 컨트롤러가 사용되는보기)로 돌아가서 채팅보기로 돌아가서 셀을 확인해야합니다.
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
// static NSString* CellIdentifier = @"MessageCellIdentifier";
// MessageTableViewCell* cell = (MessageTableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
//if (cell == nil){
MessageTableViewCell* cell = [[[MessageTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];
SharethingsAppDelegate *delegate = (SharethingsAppDelegate *)[[UIApplication sharedApplication] delegate];
ChatMessage* message = [[delegate.dataModel getMessagesOfChatWithID:self.chatID] objectAtIndex:indexPath.row];
[cell setMessage:message];
//}
return cell;
}
내가 테스트 "세포 == 전무"하지만 같은 일을 계속하려고 :
나는 다음과 같은 방법이있다.
이것은 셀 재사용 문제의 일종이지만 ... 정확히 무엇인지 정확하게 파악할 수 없다고 생각합니다.
아이디어가 있으십니까?
코드가 정상적으로 보입니다. 그래서 무슨 일이 일어나는지 잘 모르겠습니다. 메시지가 사라 졌을 때'message'가 여전히'nil'이 아닌 것으로 되돌아 오는 것을 확인 했습니까? 또한, 당신의'tableView : numberOfRowsInSection :'이'0'을 반환하기 시작할 수 있습니까? – mattjgalloway
@mattjgalloway 사실 (사용자 정의보기 셀을 사용하는) 행을 볼 수 있지만 내용이 비어 있습니다. 좀 더 로그를 추가하고 게시하도록하겠습니다. 감사. – Luc
글쎄, 내용이 비어 있다면'message'는'nil'이거나 사용자 정의 셀이'setMessage :'에 적절히 응답하지 않아서 그에 맞게 다시 그리기로 추정 할 수 있습니다. 비록 당신이 현재 새로운 세포를 만들 때마다 후자를 의심 할지라도. – mattjgalloway