그냥 쉬운 개념인데, 자꾸 까먹어서 정리합니다. Rx에서는 흐름을 구독하는 부분에 두가지 방법이 있습니다. Hot과 Cold. Hot은 만들어지는 순간 부터 아이템을 발행하기 시작합니다.Cold는 만들어지고 구독되는 순간 부터 아이템을 발행하기 시작합니다. 이게 다입니다. ㅎㅎㅎ 그러므로 사용되는 시점에 따라서 잘 이용을 하여야 할것 같네요. 연관된거로는 Behavior, Publish를 찾아보시면 객체에 따라서 방출되는 방법이 다릅니다. 그럼 즐코딩.
콘솔에 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? ..
이전글 http://mrgamza.tistory.com/562 에서 아주 간단한 방법으로 json을 파싱하는 방법을 알아보았습니다. 그래서 제 입장에서도 이것저것 하다가 느낀점과 추가되어야 할 부분에 대해서 적어봅니다. 그냥 아주 간단한 내용만 적어볼까 합니다. 더 자세한 extension 같은것들은 블로그에서 다루지 않도록 하겠습니다. 아마 이번 글 이후에 적게 되겠죠? 이전 글은 일반적으로 서버에서 주는 json의 key값을 이용하여 decoding 하도록 하는 예제였습니다. 서버에서 주는 값과 우리가 사용하는 값을 다르게 할수 없을까? 이전에 사용하던 ObjectMapper같은 경우에는 거의 무조건 값을 매핑하여 주는 방법으로 사용을 하였습니다. 그래서 response data에 스네이크 형태로 내..
swift를 사용하면서 이 문법을 사용하는일은 거의 없었습니다.왜냐면 동일한 리턴을 처리하는 부분이있거나 하지는 않았고 비교후에 다른값을 리턴하는 경우가 생기기는 하였기 때문입니다. defer란?현재 스코프를 벗어날 경우에 실행한다는 말입니다. 다시 말해서 현재 사용하고 있는 코드의 블럭안에서 실행되는 마지막 코드가 실행되고 이것이 실행됩니다. 뭐 이렇게 말해도 말이 좀 어렵기는 합니다만... defer를 특정해서 검색하고 들어오신 분들이 많을것 같아서 줄일까합니다. 자 다음 코드를 보면 이해가 쉽겠죠? 12345678910func test() { defer { print("3") } print("2")} print("1")test()cs 결과가 어떻게 나올까요?1, 2, 3 으로 나옵니다. 위에서 아래..
- Total
- Today
- Yesterday
- Spring
- windows10
- SWIFT
- rxswift
- android
- ubuntu
- Linux
- go
- enum
- MySQL
- Kotlin
- intellij
- Xcode
- php
- golang
- Windows
- war
- ios
- Codable
- Java
- CentOS
- Gradle
- cocoapods
- docker
- tomcat
- github
- centos8
- git
- Python
- nodejs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |