iOS/iOS Swift 개발 일기

iOS swift) Realm FilePathURL 잘못 인식될 때

Developer-Michelle 2022. 9. 15. 00:52

iOS swift) Realm FilePathURL 잘못 인식될 때

오늘 경험한 오류: 

계속해서 이미지를 저장하고 완료를 눌러도, document 파일 안에 있는 이미지 이름과 디버깅 창의 이미지 이름이 계속 1씩 차이가 났다.

 

Document
디버깅창

func loadImageFromDocument(fileName: String) -> UIImage? {

        guard let documentDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else { return nil } //Document 경로

        let fileURL = documentDirectory.appendingPathComponent(fileName) //세부 경로. 이미지를 저장할 위치

//        print("fileName: \(fileName)")

//        print(FileManager.default.fileExists(atPath: fileURL.path))

        //fileURL이 있는지 물어보는 코드

        if FileManager.default.fileExists(atPath: fileURL.path) {

            return UIImage(contentsOfFile: fileURL.path) // 이 위치에 있는걸 이미지로 담기

        } else {

            return UIImage(named: "camera")

        }

    }

 

이 코드를 실행할 때 계속해서 fileURL이 false로 떴다.

즉, 저장되는거랑 떠야하는 이미지랑 맞지 않는 상태

 

+그리고 타다닥 완료를 누르면 여러장이 생성만 될 뿐 이미지로 반영되진 않음

->나중에 해결할 것

 

오류가 났던 이유?

오류난 코드 :

data.objectId.jpg 로 저장해줄 때,

그리고 addItem을 할 때 또 한번 초기화가 되었으므로

파일 저장 디버깅과 실제 위치에서 1씩 차이가 났음

원래 addItem에서 let data = UserThingDiary(imageCount: ~~) 이게 한번 더 초기화를 해준 꼴임

 

즉, saveImageToDocument와 addItem이 따로 놀게된 꼴

 

==> 수정 이후 코드

date.objectId. jpg 이걸 그대로 이용해서 

밑에 addItem해줌

 

그리고 addItem할 때의 코드도 초기화코드가 아닌 data 전체를 가져오는걸로.