서론
Apple Developer Academy에서 마지막 프로젝트를 진행하면서 만든 기능에 대해서 적었습니다.
유저가 지정해둔 경로에 유저가 정해둔 파일 이름이 있다면 다른 이름으로 저장을 해줘야 하는 기능을 만들어야 했습니다.
첫 번째로 해줘야 할 작업은 유저가 지정해둔 경로에 어떤 이름들이 있는지 알아야 했습니다.
저희 프로그램은 PDF → Image → Numbers로 변환해주는 프로그램인데 PDF에서 이미지로 변환해준 것들을 새로운 폴더에 지정해서 저장해주고 Numbers로 변환 후 삭제 하였습니다.
그렇다면 제가 어떻게 중복검사를 했는지 설명하겠습니다.
유저가 지정한 경로에 파일 및 폴더 이름 확인
첫번째로, 해야할 일은 유저가 지정한 경로에 어떠한 이름들이 있는지 확인해야 했습니다.
searchFileNameInDirectory함수를 만들어서 이 함수를 실행하면 유저가 지정한 경로에 어떠한 파일들이 있는지 배열에 추가해주었습니다.
예시로 name 배열안에는 [”파일예시1”, ”파일예시2”, ”파일예시3”] 이런식으로 실제 파일 및 폴더 이름이 저장됩니다. 파일 같은 경우 뒤에 확장자 이름이 있어서 쉽게 구분할 수 있었습니다. [”파일예시1.pdf”, ”파일예시2.numbers”]등 말이죠, 폴더 같은 경우 뒤에 확장자가 없었기 때문에 쉽게 구분할 수 있었습니다.
지정한 파일 경로에 중복된 폴더 이름이 있는지 확인 후 처리
searchFileNameInDirectory 에서 유저가 지정한 경로에 어떠한 이름들이 있는지 확인을 했습니다.
그 다음 똑같은 이름이 있는지 확인을 해야했습니다. 그래서 while 문을 사용했습니다.
name 배열안에 같은 이름이 있는 경우가 있다면
이름 뒤에 (i)를 추가해주었습니다. 예시로 bulmang (1)로 변경을 해주는 것입니다. bulmang (1)도 있다면 bulmang (2)로 (3)로 (4)로 계속 변경해줍니다.그리고 미리 지정해둔 변수를 true값으로 변환해주었습니다
그 변수가 true가 되면 while문은 종료합니다.
이 방법으롤 파일명이 중복된다면 처리를 해주었습니다.
이것이 좋은 방법일지는 모르겠지만 저는 이렇게 처리를 하였습니다!
아래의 이미지는 초등실과 교과서(테스트)가 이미 있는 경우에 처리를 해주는 GIF입니다.
눈으로 보시면 더 쉽게 이해하실 수 있을거에요
'SwiftUI > 개발' 카테고리의 다른 글
[SwiftUI] 코드 중복 실행 문제 (0) | 2023.11.01 |
---|---|
[Swift] 이미지 저장 기능 (0) | 2023.10.31 |
[SwiftUI] View가 멈추는 현상 (0) | 2023.10.25 |
[SwiftUI] 프로그램 차단 기능 (0) | 2023.10.06 |
[SwiftUI] 애플스토어 앱 클론코딩(스크롤) (0) | 2023.07.08 |