안녕하세요 이번 블로그 내용은 사이드 프로젝트를 진행 하면서 이런것도 Extension을 통해서 설정할수 있다는 것을 알게 되어 신기하고 처음보는 내용이어서 남기고 싶었습니다.
String Interpolation
- StringInterpolation은 말그대로 문자열 보간입니다. 저도 한국어로는 모르다가 처음으로 검색을 통해 알게 되었는데요 실제로는 저희가 코딩을 하면서 자주쓰게 되는 기능입니다.
이런식으로 자주 사용하시죠? "( ? )" 이렇게 사용하는 기능이 바로 StringInterpolation 입니다
문자열 보간에 원하는 기능을 추가하려면
String.StringInterpolation
여기에 Extension을 통해 기능을 추가해야합니다. 아래의 코드는 value로는 Int가 들어가고 원하는 프로퍼티는 pressure라고 적어둡니다.
그리고 그아래에는 구조체로 원하는 심볼 즉 단위값이 올때 원하는 심볼이 들어가게 됩니다.
extension String.StringInterpolation {
mutating func appendInterpolation(pressure value: Int) {
appendInterpolation("\(value) \(UnitSymbol.forPressure)")
}
}
struct UnitSymbol {
static let forClouds = "%"
static let forWindDegree = "m/s"
static let forPressure = "hPa"
static let forTemperature = "º"
static let forHumidity = "%"
static let forVisible = "km"
static let forRain = "cm"
static let forSnow = "%"
}
- 위와 같이 작성해두면 보간을 작성할때 아래와같은 선택지가 나오게 됩니다
- 해당 선택지를 클릭하고 매개변수로 지정한 타입인 Int 를 넣게되면 다음과 같은 값이 나옵니다.
"\(pressure: 1234)" // "1234 hPa"
- 이렇게 만들어두면 반복적으로 뒤에 붙는 문자열이 있을경우 간편하게 활용할수 있어서 좋은 것 같습니다
'IOS > iOS' 카테고리의 다른 글
[TIL] Moya 장점과 간단한 사용법 (0) | 2021.01.21 |
---|---|
[iOS] Dynamic View (With: PageView, TableView, CollectionView) / Standard Apple WeatherApp UI (0) | 2021.01.11 |
[iOS]UTC Time To Date (feat. TimeZone) (2) | 2021.01.08 |
[TIL][iOS] Retain Cycle, Weak, Unowned ( feat. ARC ) (0) | 2020.12.22 |
[TIL] 라이브러리, 프레임워크의 차이 (0) | 2020.12.21 |