Objective-C는 런타임에 정적으로 메소드를 호출하는 방식으로 되어 있습니다. 우리가 호출하는 Method를 적어줘도 컴파일러가 런타임에 있는지 확인하고 호출하는거죠. 이전에는 그래서 아주 생뚱 맞은 동작이 가능하게도 할 수 있었습니다. Int에 String을 넣어놓고 method가 없는데도 호출하게 하는... 물론 지금도 이런 동작이 가능하지만 이렇게 개발하지는 않죠. 이런 방식을 사용하기 때문에 정적으로 호출하는 방식중에 중간에 메세지를 가로채서 내가 만든 메소드를 호출할 수 있도록 할 수 있습니다. 이게 바로 메소드 스위즐링입니다. 대부분 어떻게 많이 사용하냐면 UIViewController 등에서 로그등 동일한 동작을 하고 싶을때 사용하게 됩니다. 사용방법만 알려드리고 주의 할점은 너무 남발..
swift의 dynamicMemberLookup에 대해서 알아볼까 합니다. 4.2에서 만들어진 녀석인데요. Dictionary 형태의 값을 가지고 subscript(dynamicMember:)를 가지고 값을 마치 property 처럼 사용이 가능하도록 한 겁니다. 다음과 같은 형태로 만들수 있어요. @dynamicMemberLookup struct PropertyDictionary { private let properties: [String: Any] init(_ dictionary: [String: Any]) { properties = dictionary } subscript(dynamicMember string: String) -> Any? { return properties[string] } } 자..
RxSwift에서는 Cold, Hot가 있습니다. 구독자가 생기는 순간에 흐름을 방출하는 Cold와 구독자가 생기지도 않았는데 흐름을 방출하는 Hot이 있습니다. Hot은 뜨겁게 달궈져서 만들어지기 때문에 시작부터 방출하는것이고 Cold는 차갑게 얼어서 만들어지기 때문에 시작할때는 방출하지 않는것입니다. 추후에 subscribe를 만나게 되면 따뜻해지는것이지요. 그래서 우리는 Subject를 이용해서 구독 시점에 발생되던것을 구독과 상관없이 Hot 하게 만들수 있습니다. 예를 들어서 Network 통신을 하고 나서 값을 가져오는 다음과 같은 예제가 있다고 합시다. API.requestMe() .observe(on: MainScheduler.instance) .subscribe(onNext: { value..
- Total
- Today
- Yesterday
- docker
- Spring
- intellij
- php
- Java
- centos8
- Xcode
- war
- tomcat
- rxswift
- Codable
- windows10
- git
- android
- Gradle
- Python
- nodejs
- ubuntu
- Kotlin
- go
- Windows
- enum
- MySQL
- CentOS
- ios
- cocoapods
- SWIFT
- golang
- Linux
- github
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |