Swift가 3이 나왔을때 접근 한정자가 조금 추가가 되어서 사용성에서 약간은 좋은점이 있었는데.이것이 Swift4가 되면서 약간의 변경점이 생기게 되었습니다. Swift3. open (3에서 새로 추가됨)가장 개방되어 있고 소속 모듈 또는 소속 모듈을 import 하는 모든 모듈에서 class와 class 멤버에 접근할 수 있으며 open class를 상속 받아 sub class를 생성하거나 메서드를 override 할 수 있다. 간단히 이야기하면 다른 언어의 public이랑 유사합니다.요즘 라이브러리들은 다 이걸 사용하던데... 이유가 있죠? publicopen과 동일한 접근을 허용하지만 sub class 생성과 override에 제한이 있음.소속 모듈내에서는 sub class 생성과 sub clas..
Swift에서는 Reflection을 사용하는 방법에 대해서 알아봅시다. 이게 무슨 의도에서 찾게 되었냐면, Swift의 Codable의 원리에 대해서 생각하게 되었고,뭐 당연스럽게 다른 언어에도 있는 Reflection이 있을 것이라는 생각에서 찾아보았습니다. 본문이 길지 않은 점 이해 바랍니다. 123456789101112struct Test { var name: String var age: Int} let test = Test(name: "DH", age: 30)let mirror = Mirror(reflecting: test) for case let (label?, value) in mirror.children { print("label = \(label), value = \(value)")} C..
iOS에서 화면전환하는 것에 대해서 보고 있는중인데, 화면을 전환하는 효과에 대해서 한번 적어보려고 합니다. 일단 화면을 전환하려고 할 경우에, iOS에서는 기본으로 두가지 애니메이션이 들어가 있습니다. Push와 Present 이렇게 기본적으로는 두가지 입니다. 이것을 아무것도 지정하지 않고 그냥 하게 해주면, 가장 기본적인 오른쪽에서 화면이 오는것과 아래에서 화면이 나오는것 두가지가 될 수 있습니다.물론 기본 제공하여 주는것중에 Present에서 제공하는것이 있기는 합니다만. fade in의 느낌이 나는 crossDissolve 옵션이 있습니다. 이전에도 다른 방법으로 Push되는 화면을 처리하는 방법을 이용하였는데, 이전에는 그냥 단순하게 Push할 경우에 fade를 넣어주는 방법을 하였는데 이번에..
Codable을 이용하여 Decode만 하는것이 아니라 Encode도 가능합니다.왜냐면 Codable은 사실 Encodable & Decodable 을 하여준것입니다. https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types 그래서 Codable을 딱히 쓰지 않아도 되면 따로 따로 만들어도 됩니다. 후훗 Decode에 관한것은 이전 글에서 참고 바랍니다. http://mrgamza.tistory.com/562 아래와 같이 한번 만들어 봅시다. 이것을 가지고 Json String을 만들겁니다. 12345678910struct SampleData: Codable..
Swift에서 Codable이라는 녀석이 생겼습니다.기존에는 ObjectMapper등을 이용하여서 이것을 처리하였는데요. ObjectMapper가 Warning이 발생하더니 더 이상 업데이트가 되지 않고 있었습니다.더 이상 방치하고 싶지 않아서 이것을 사용해 보려고 하였습니다.다른 프레임워크를 추가할 필요없이 끝나버렸습니다. 흡사 느낌은 거의 Gson과 거의 비슷한 느낌입니다. 기존의 ObjectMapper에서는 Mapping 하여주는 부분을 따로 지정을 하여 주어야 하는데, Reflection으로 처리가 되는것 같네요. 사용방법 12345struct SampleData: Codable { var name: String var age: Int}cs 이렇게 하고 Mapping만 하여 주면 끝납니다. Tes..
- Total
- Today
- Yesterday
- nodejs
- Gradle
- CentOS
- windows10
- cocoapods
- Linux
- Windows
- Codable
- tomcat
- github
- php
- SWIFT
- Python
- Xcode
- ubuntu
- rxswift
- git
- enum
- docker
- centos8
- Spring
- ios
- Kotlin
- war
- MySQL
- golang
- go
- android
- Java
- intellij
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |