본문 바로가기

개발/Swift(IOS)

(3)
[실험실-1] Delegate를 여러 번 정의하면 어떻게 될까? 뭐 대충 이런 코드가 있다고 가정해보자 class TestViewController: UIViewController, UITextFieldDelegate { let textfield = TestTextField() override func viewDidLoad() { super.viewDidLoad() textfield.delegate = self view.addSubview(textfield) textfield.backgroundColor = .blue textfield.snp.makeConstraints { $0.top.equalToSuperview().offset(100) $0.leading.equalToSuperview().offset(20) $0.trailing.equalToSuperview()..
Clean Architecture + MVVM(ReactorKit) - 1 그 동안 길다면 길고 짧다면 짧은 시간동안 조금 더 유연한 소프트웨어를 만들기 위해 여러가지 구조들을 경험하게 되었습니다. MVC -> MVVM -> MVVM-C?(내마음대로 Coordinator) -> ReactorKit 구조를 변경하면서 UI의 변경에 대하여 유지보수가 수월해지는 느낌은 있었으나 아직 비지니스 로직 부분에서의 변경과 확장성에 있어서 많은 불편함이 있는 것 같아 Clean Architecture를 공부하고 적용해 보기로 마음을 먹었어요. :) 클린 아키텍처란? 클린 아키텍처는 로버트.C.마틴(aka.밥 아저씨)가 2012년 8월에 블로그에 클린 아키텍처라는 제목으로 글을 기재하면서 알려지게 되었는데요 로버트 마틴에 대하여 설명하자면 우리가 알고 있는 수많은 개발 방법론들을 창시한 분이라..
[Swift] 클로저와 함수 그리고 값 캡쳐(Closures, functions and value capture) Swift에서 함수는 값을 어떠한 방식으로 전달을 하며 클로저는 어떠한 방식으로 값을 캡처하는지에 대하여 실험을 해 보고 알아보자 환경: XCode 12.3(Swift 5.3) [실험] Closure 실험 1. (String 전달) var name = "Lee" let closure = { [name] in print("closure: \(name)") } name = "Jang" let doing = closure doing() // 어떤 것이 출력 될까요? // 1. Lee // 2. Jang // 3. Compiler Error 실험 2. (Class 전달) class Person { var name: String? } let person = Person() person.name = "Lee" le..