일반적으로 작동하는 검색 창이 있습니다. 문제는 iPhone에서 테스트 할 때 자동 고침이 시작될 때 발생합니다. 검색 막대에 텍스트 길이가 4 이상인 텍스트가있는 경우 검색 막대를 설정 한 다음 searchResults 배열에 항목을 넣기 시작합니다. 자동 고침에서 제안이 있고 그것을 무시하고 배열에서 무언가를 선택하면 응용 프로그램이 충돌합니다. 필자는 행 선택 이전에 자동 수정 된 단어가 선택되었다는 오류를 추적 했으므로 (둘 다 완료 됨) 액세스하려는 것으로 생각되는 searchResults 배열은 더 이상 유효하지 않습니다.didSelectRowAtIndexPath를 눌렀을 때 UISearchBar의 자동 고침이 방해받습니다.
예를 들어 검색 바에 "demp"를 넣습니다. 자동 고침은 "데모"를 제안합니다. 그 사이에, 수색은 그것에서 "dempster"를 가진 결과의 낱단을 돌려 보낸다. 나는 첫번째를 선택한다. 이렇게하면 검색은 "데모"아래에서 다시 검색하고 원래 배열을 지 웁니다. 배열을 다시 채울 수 없도록 검색을 위해 서버를 찾습니다. 그런 다음 didSelectRowAtIndexRow 메서드가 트리거되고 배열에 아무 것도없고 충돌이 발생합니다.
의견이 있으십니까? 미리 감사드립니다.
동일한 문제가있었습니다. 이것이 UISearchBar의 버그라고 말할 수 있습니다. – hpique