상단의 코드에서 if let docuPath = directory.path로 잡아주게 되면 제목과 같이 조건부 바인딩의 초기자(initializer)는 옵셔널형이어야하며, String일수 없다는 에러가 뜹니다. 있을지 없을지도 모르는데 어떻게 저렇게 쓰니? 하는 것이죠...
let docuPath = directory.path
if !docupath.isEmpty {
let fileNames = try FileManager.default.contentsOfDirectory(atPath: docuPath)
for fileName in fileNames {
if fileName == named {
let filePathName = "\(docuPath)/ \(fileName)"
try FileManager.default.removeItem(atPath: filePathName)
onSuccess(true)
return
}
}
}
이런 경우에는 아래와 같이 우회해서 코드를 적어주면 에러도 사라지고 빌드가 됩니다.
'iOS Swift > error 해결 방법' 카테고리의 다른 글
sqlite3 select할때 한 줄만 주구장창 나온다면? (1) | 2022.12.22 |
---|