본문 바로가기
iOS/Swift

Formatter

by 소토리텔러 2023. 11. 30.

 

 

Swift Foundation 프레임워크는 어떠한 값을 문자열 표현으로 바꾸는데 도움을 주는 몇몇의 Formatter를 제공한다.

 

 

ByteCountFormatter

- 적절한 단위(KB, MB, GB 등등)와 함께 바이트 수 값을 문자열로 표현.

 

DateFormatter

- 지정한 포맷에 맞게 날짜를 문자열로 표현.

 

DateComponentsFormatter

- 시간의 양을 적절한 문자열로 표현. 

더보기
import Foundation

let formatter = DateComponentsFormatter()
formatter.unitsStyle = .full
formatter.includesApproximationPhrase = true
formatter.includesTimeRemainingPhrase = true
formatter.allowedUnits = [.minute]
 
// Use the configured formatter to generate the string.
print(formatter.string(from: 300.0)!) // About 5 minutes remaining

formatter.includesTimeRemainingPhrase = false
print(formatter.string(from: 300.0)!) // About 5 minutes

 

DateIntervalFormatter

- 시간의 간격을 문자열로 표현.

더보기
import Foundation

let formatter = DateIntervalFormatter()
formatter.dateStyle = .short // formatter의 스타일에 따라 표편 양식 달라짐.
formatter.timeStyle = .none


// Create two dates that are exactly 1 day apart.
let startDate = Date()
let endDate = Date(timeInterval: 86400, since: startDate)


// Use the configured formatter to generate the string.
let outputString = formatter.string(from: startDate, to: endDate)
print(outputString) // 30/11/2023 – 01/12/2023

 

MeasurementFormatter

- 지정한 단위로 수치를 표현하거나 다른 단위에 맞게 수치를 변환하여 표현.

 

NumberFormatter

- 숫자와 관련된 다양한 표현을 지원.

더보기

Formatter 스타일을 살펴보았을 때 숫자, 퍼센트, 통화, 순서 등등 숫자와 관련된 다양한 표현을 지원함.

 

PersonNameComponentsFormatter

- 사람의 이름을 일정한 형식에 따라 표현. 

- 나라에 따라 이름 표현이 달라질 수 있으며 약어로 표기 하는 것도 지원.

- 자세한 내용은 https://developer.apple.com/documentation/foundation/personnamecomponentsformatter 참고.