2010-11-20 5 views
0

나는 각 셀에 사용자가 입력 한 데이터가있는 TextField가있는 테이블 뷰를 가지고 있습니다.TableView에 텍스트 필드가있는 Iphone 셀

사용자가 버튼을 누르면 필드의 모든 텍스트를 가져 와서 데이터가 유효한지 확인합니다. 하지만 각 셀에 텍스트 필드를 가져 오는 방법을 모르겠습니다.

감사합니다.

답변

2

셀 + 텍스트 필드를 사용하여 데이터의 백업 저장소가되는 것은 좋지 않습니다. 그 이유는 사용자가 목록을 스크롤 할 때 UITableView가 해당 셀을 재활용하기 때문입니다. 당신이 확실히 할 수있는 유일한 방법은 각 셀을 한 번씩 할당/초기화하고 배열에서 모두 관리하면 tableview에서 cellForRowAtIndexPath :가 호출 될 때 올바른 셀을 검색하는 것입니다. 그러나 많은 행이 있다면 이것은 나쁜 생각입니다. 행 수가 적다면 좋은 아이디어 일 수 있습니다. 배열을 탐색하여 각 셀/텍스트 필드에 액세스 할 수 있습니다.

그렇지 않으면 주어진 셀에서 필드 내용이 변경 될 때 캡처 할 텍스트 필드 대리자 메서드를 구현해야합니다. 그들이 할 때, 당신은 들판 내용을 움켜 잡고 그 값을 당신의 후원 가게에 저장할 수 있습니다. textField 태그를 행 인덱스로 설정하는 것을 고려할 수 있습니다. 이는 위임 메서드가 호출 될 때 어떤 textField가 업데이트되는지 쉽게 알 수있는 방법입니다.

+0

신뢰할 수있는 지 잘 모르겠다 - 만약 당신이'-reloadRowsAtIndexPaths : withRowAnimation :'과 같은 것을하면, UITableView는 두개의 다른 셀을 기대하므로 하나의 셀을 다른 셀과 다른 셀을 움직이게 할 수있다. –

관련 문제