저를 포함한 5명.
SwiftUI 토이프로젝트를 만들어보고 있었습니다.
저는 아래와 같은 검색 화면을 구현하고 있었습니다.
단어 또는 단어 뜻을 탐색하여 or연산을 통해 검색결과가 나오게 됩니다. 위에 중복으로 두가지가 나온건 동일한 더미데이터를 두개 넣어놔서 그렇습니다.
팀원들이 각자 맡은 파트를 수정한 후 merge해주었고 다시 열어서 테스트를 해보는 중 문제가 발생합니다.
한번 검색을 하고 나서 다른 단어를 검색해도 가장 처음 검색한 단어에 대한 결과가 바뀌지 않았습니다. 같은 결과만 계속 나오는 겁니다.
텍스트를 모두 지우면 빈 화면이 나타나게 되어서 searchStr(텍스트 필드 String값)이 제대로 옵저빙 되고 있는 것은 맞는데 왜그럴까요...
다시 실행해서 다른 검색어를 입력하면 최초 검색은 정상적으로 작동합니다.
전날까지 정상 동작하는 것을 확인하였기에 다른 팀원분들의 작업중 사이드 이펙트가 발생하였을 것을 예상하고 다른 분들 코드를 뒤져보았습니다. 하지만 알 수 없었죠.
그러다가 팀원 한분께서 터미널에 나오는 경고를 주목하셨습니다. 해당 내용은 더미데이터로 넣어둔 객체의 UUID가 중복된다는 이야기였습니다.
저는 경고는 개발자에게 권고하는 수준이고 실행하는 데 당장 눈에 띄는 문제는 없다고 생각했었기에 신경쓰지 않았었습니다.
그런데 중복되는 UUID가 없도록 더미데이터를 정리해주니 해결되었습니다...
허탈하더군요. ㅎㅎ
어떤 분께서 많은 단어 검색 결과를 빠르게 테스트해보기 위해 같은 객체를 여러번 복붙해서 더미데이터 안에 넣어주었고 그 과정에서 나타난 경고 였습니다.
UIKit에서 리스트 화면을 구현할때는 UUID를 Struct 프로퍼티 값으로 넣어줄 일이 없었기 때문에 이런 일은 처음 만났네요.
댓글