스위프트에는 지연변수가 존재합니다. 물론 kotlin에도 있고요...왜 둘이 비슷한지에 대한 문제는 더 이상 이야기 하지 않겠습니다. ㅎ 일반적으로 우리는 이것을 사용할 때에 lazy var를 이용합니다. 지연변수라고 함은 이 변수를 처음으로 접근할 경우에 초기화를 시키는 작용을 하는 변수를 이야기 합니다. 일반적으로 class를 생성할때에는 무조건 초기화가 이루어져 있어야 합니다. 12345678910class TestA { var text1: String var text2: String init(text2: String) { self.text2 = text2 self.text1 = "Add : \(text2)" }}cs 꼭 초기화를 하여야 합니다. let test = TestA() 이렇게 하였는데, ..
UIViewController에 보면 두가지 property가 존재합니다. 무슨 두가지이고, 무슨 의미냐... - presentedViewController : 자신이 호출한 ViewController- presentingViewController: 자신을 호출한 ViewController 이렇게 구분을 할수 있는데 ViewController를 present할 경우에 이 두가지를 이용할 수 있습니다.iOS 5 에서 시작되었고요. 지금은 모든 버전에서 사용 가능합니다. viewWillAppear에서 확인이 가능하고, 자신을 present한 ViewController가 있는지를 확인하여서 dismiss할것인지 pop할것인지의 여부로 사용이 가능하겠습니다. 12345678910extension UIViewCo..
제가 Reactive를 알게 된게 1년정도 된것 같네요. 그렇게 알게 되고 이것저것 하다보니 이것에 대한 매력을 좀 느끼고 있는 편입니다. 그 당시에 MVVM 패턴으로 개발을 시작하였고 현재 진행하는 프로젝트도 이것으로 진행중입니다. 대략 이곳저곳에서 이것을 사용하는 방법에 대해서 슬며시 올려지고는 있는것 같은데 아직은 활성화가 안되어 있는것 같기도 하네요. 우리의 목적은 다음과 같습니다. UIViewController에서 로직을 모두 제거하자. 이유는 그렇습니다. 로직을 자꾸 추가를 하다보니 로직에 로직을 뷰에 뷰를 맞추는 작업이 혼합이 되어 있는 코드가 발생하게 되고요. 이렇게 개발을 하다보니 뷰만 슬쩍 수정하면 되는 문제인데, 로직이 엉켜서 아무것도 못하는 상황이 발생하게 됩니다. 일단 저는 이전에..
오늘은 RxSwift에 대해서 이야기를 해볼까 합니다. 저는 이걸 이용해서 MVVM 패턴의 프로그램을 기반으로 프로젝트를 진행하고 있습니다. Reactive 프로그램은 정말 별다른건 아니고 상태 상태에 따른 값의 변화에 따른 filter, map 조작등을 통한 UI의 컴퍼넌트들과 bind하여주는 용도로 이용하고 있습니다. ViewModel에는 당연히 로직이 들어가고 ViewController는 bind하여주기 위한 역할이죠... 일단 Rx에 대해서 이해도가 조금 낮은 분들은 이해하는 정도로만 봐주시기 바랍니다. 저도 처음에는 외계어를 듣는거 같았거든요. ㅎㅎ 들어가기전에 제가 사용하는 RxSwift 버전은 4.0입니다. 3.0을 사용하시는분들과는 거어어어어의 비슷한데 약간 다른 예약어가 있으니 이점은 참..
iOS 개발을 하다보니, 이것저것 View를 건드는 일이 많은데요.다들 아시는것이겠지만 그냥 팁이라 생각하고 적습니다. ? 팁도 아닐수도... - view1을 추가self.view.addSubview(self.view1) - view1을 0번째에 삽입self.view.insertSubview(view: self.view1, at: 0) - view1을 가장 앞으로self.view.bringSubview(toFront: self.view1) - view1을 가장 뒤로self.view.sendSubview(toBack: self.view1) - 0번째 view와 1번째 view의 위치를 변경한다.self.view.exchangeSubview(at: 0, withSubviewAt: 1)
- Total
- Today
- Yesterday
- Python
- CentOS
- Linux
- SWIFT
- github
- enum
- Gradle
- android
- go
- git
- cocoapods
- centos8
- docker
- Spring
- Kotlin
- php
- MySQL
- Xcode
- Windows
- Codable
- windows10
- nodejs
- intellij
- Java
- war
- tomcat
- ios
- rxswift
- golang
- ubuntu
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |