본문 바로가기

swift

(3)
[Swift] DateFormatter - ISO8601 DateFormatter를 사용하면 Date와 String(문자열) 간 변환을 할 수 있다. DateFormatter의 dateStyle이나 timeStyle의 값을 이용해서 미리 정해진 형식을 설정할 수 있다. 하지만 대부분의 경우 원하는 형식과 달라서 dateFormat 으로 커스텀하게 설정하는 경우가 많다. let formatter = DateFormatter() formatter.dateFormat = "yyyy.MM.dd" formatter.string(from: Date()) // 2022.12.01 날짜 형식 중에 2023-01-31T09:00:00.000Z 와 같은 형식을 사용하는 경우를 종종 만나게 된다. 그런 경우 dataFormat 설정을 "yyyy-MM-dd'T'HH:mm:ss.SS..
[iOS] 노티 옵저버 등록과 해제 노티에 등록된 감시 객체가 삭제되지 않는 문제가 발생! 수 시간의 디버깅 끝에 원인을 찾았다. 노티 센터에 등록한 옵저버와 옵저버를 삭제하는 코드에서의 옵저버 객체가 달랐던 것이다. 감시 객체를 삭제하는 코드는 다음과 같이 작성했다. 즉 self - 뷰 컨트롤러가 옵저버라고 생각하고 짰는데.. 옵저버를 블록 객체로 등록했었다. NSNotificationCenter.defaultCenter().removeObserver(self) 이 기회에 좀 정리해본다. == 객체를 옵저버로 사용 노티 발생 여부를 감시하는 옵저버(Observer)를 등록하는 방법은 다음과 같다. 이 메소드에서 노티 센터에 등록되는 옵저버는 observer 파라미터의 객체다. // 옵저버 객체 : observerfunc addObserv..
[Swift] 파일 접근하기 플레이 그라운드로 스위프트 코드를 작성하다, 이미지 파일 참조가 안 되는 현상이 발생했다. 분명 스위프트 코드와 같은 디렉토리에 파일을 복사하고 상대 경로로 접근하려니, 접근이 안된다. let fm : NSFileManager = NSFileManager.defaultManager() let filePath = "./image1.png" fm.fileExistsAtPath(filePath) 스위프트 파일이 저장된 위치와 스위프트 파일이 실행되는 경로가 다른 점이 그 원인이다. 실행 디렉토리를 찾아보자! fm.currentDirectoryPath 다음과 같이 라이브러리 폴더가 찍힌다. /Users/USER/Library/Containers/com.apple.dt.playground.stub.OSX.PLAY..