Type matching의 두번째입니다. 각 데이터 타입별로 값을 비교하는 방법입니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990// Tuples let point = CGPoint(x: 7, y: 0)switch (point.x, point.y) {case (0,0): print("On the origin!")case (0,_): print("x=0: on Y-axis!")case (_,0): print("y=0: on X-axis!")cas..
enum은 swift에서 사용하기에 가장 훌륭한 자료형입니다.이것을 다양한 자료형을 이용하기 위해서 사용할 경우의 사용방법입니다. 1. 기본 대입 방법입니다. 다음과 같은 enum이 있다고 합시다. 12345enum CustomType { case string(_ value: String) case number(_ value: Int) case date(_ value: Date)}Colored by Color Scriptercs 그러면 이것을 이용하기 위한 방법은 여러가지 입니다. 1. switch를 이용 123456789101112let type = CustomType.number(1) func test() { switch type { case let .date(value): // value는 Date..
결혼준비를 하느라 제가 이것저것 못보고 살았네요.얼마전에 개발을 위해서 자료를 보던중에 swift4.1에서 추가된 부분을 작게 적으려고 합니다. 간략하게 기능만 이야기를 하면 snake case를 더 이상 enum을 만들어서 처리하지 않아도 됩니다. 무슨 이야기냐면 저희는 변수명을 언더바가 들어간 스네이크를 잘 사용하지 않지만 서버는 이런걸 좋아하죠. 바로 설명으로 간략하게 정리만 하겠습니다. 옵션만 추가하게 되면 됩니다. 다음과 같은 json data 가 있다고 합시다. 1234567let json = """{ "silver_winner": "Sound", "gold_winner": "Light", "bronze_winner": "Unladen Swallow"}""".data(using: .utf8)!..
콘솔에 debug를 찍을 방법이 두가지 존재합니다. print와 debugPrint인데요.아주 미묘하게 차이점을 가지고 있습니다. 1. String 출력시 print("test") // testdebugPrint("test") // "test" 원형을 그대로 찍어주게 됩니다. 이렇게 되는 이유는 아래와 같을수 있습니다. 2. 출력할 프로토콜이 서로 다르다. print의 경우에는 CustomStringConvertible을 따릅니다.debugPrint의 경우에는 CustomDebugStringConvertible을 따릅니다. 이 두가지의 차이를 보자면, description property와 debugDescription property를 사용하는지에 대한 차이점입니다. 결론적으로 본다면, 두가지는 거의 ..
클래스 수정없이 새로운 값을 추가하여야 하는 경우가 있습니다.그 경우의 예로는 extension을 사용할 경우에 값을 주입시켜서 사용하여야 하는 경우가 이런 경우일것 같은데요. 이럴때 사용할수 있는것이 Associated References가 될것 같습니다. 일단 강점이라고 생각하면 클래스의 수정없이 사용할 수 있다는것인데요.그렇다고 아주 코드를 사용하지 않고서 만들수는 없습니다. 왜냐면 키를 만들어서 넣어주어야 하거든요 사용방법은 다음과 같습니다. 123456789101112131415161718192021import UIKit extension UIButton { private struct AssociatedKeys { static var test = "Test" } var test: String? ..
- Total
- Today
- Yesterday
- Java
- go
- Xcode
- enum
- android
- intellij
- ios
- war
- CentOS
- Gradle
- Windows
- Kotlin
- MySQL
- SWIFT
- cocoapods
- rxswift
- github
- nodejs
- docker
- tomcat
- golang
- Linux
- Codable
- php
- git
- Python
- Spring
- windows10
- ubuntu
- centos8
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |