SWiFT45 Swift) TDD TDD TDD란 Test - Driven - Development 의 약자로 "테스트 주도 개발" 이라고 한다. TDD와 Unit Test는 다르다. Unit Test는 기능 개발을 진행한 후, 기능단위의 테스트 코드를 작성해 함수, 메소드의 기능을 개발자의 의도대로 테스트하는 것이다. TDD와 달리 테스트 코드를 꼭 먼저 작성할 필요도 없고, 리펙토링도 포함하지 않는다. 순수하게 테스트 코드만 작성하는 것을 의미한다. 하지만 TDD의 경우 말 그대로 "테스트 주도 개발" 이다. 테스트를 주도적으로 하는 개발.. 말이 좀 어렵게 느껴질 수도 있다. 말그대로 받아들이면 된다. 기능 개발을 위한 코드를 먼저 작성했던 일반적인 방법과 달리, 테스트를 위한 코드를 먼저 작성한 후, 그 코드에 맞게, 테스트에 통.. 2022. 2. 12. Swift) UIViewController Life Cycle UIViewController Life Cycle OverView UIViewController의 Life Cycle을 공부해보려 합니다. ViewController는 모든 IOS App의 중추적인 역할을 합니다. App이 실행되는 동안 ViewController가 만들어지고, 사라지며, 특정 화면을 띄우고 내리는 작업을 수행합니다. 이런 과정들은 사용자 액션이나 특정 이벤트에 의해 메소드가 호출됨으로써 진행되게 됩니다. 아래는 위에서 말한 ViewController의 LifeCycle 메소드 입니다. loadView() viewDidLoad() viewDidUnload() viewWillAppear(_ animated: Bool) viewDidAppear(_ animated: Bool) viewWill.. 2022. 2. 12. Swift) MVC MVC 애플의 MVC를 알아보기 전, 전통적인 MVC에 대해 먼저 알아보겠습니다. Traditional MVC 이전 글에서 다룬 Distribution(역할 분배)가 전통적인 MVC에선 적용이 되지않은 모습입니다. 위의 다이어그램을 통해 전통적인 MVC는 Model, View, Controller가 서로 의존하고 있음을 알 수 있습니다. View는 사용자 액션을 Controller에게 전달하고, Controller는 이에 따른 업데이트를 Model에게 요청합니다. 그 후 Model은 값을 업데이트한 후 값의 변화를 View에게 알립니다. 이렇게 연결된 M, V, C는 서로의 존재를 잘 알고있고, 상호간의 의존성이 높습니다. 즉, 독립성이 현저히 떨어져 각각의 재사용성이 떨어집니다. 독립성이 떨어졌다고 재.. 2022. 2. 12. Swift) Struct vs Class Struct - Value Type 구조체는 하나 이상의 프로퍼티를 묶어 새로운 타입을 정의하는 도구이다. [명명법 : 타입의 이름은 UpperCamelCase 를 사용하고, 내부 프로퍼티와 메소드는 LowerCamelCase를 사용한다.] struct Person { let name: String let age: Int func run() { // ... } } 구조체의 경우는 개발자가 직접 이니셜라이저를 생성하지 않아도, 자동적으로 생성된 멤버와이즈 이니셜라이저를 통하여 인스턴스 프로퍼티의 이름으로 자동 지정된다. struct Person { let name: String let age: Int func run() { // ... } } let jiseong = Person(name: "Jiseong.. 2022. 2. 12. Swift) Notification, NotificationCenter Notification NotificationCenter를 통해 정보를 저장하기 위한 컨테이너이다. Notification을 post(전달)할 때 동기적으로 동작한다. NotificationCenter NotificationCenter에 등록된 observer에게 동시에 notification을 전달하는 클래스이다. NotificationCenter 클래스는 한 객체가 이벤트가 발생했다는 Notification을 전달(post)하면, NotificationCenter에서 등록된 옵저버에게 객체에서 발생한 이벤트를 보낸다. 해당 이벤트를 다루는 옵저버가 있다면, 미리 설정해놓은 처리로(이런 이벤트가 들어오면, 이렇게 처리해라) 이벤트에 대한 처리(콜백, 피드백)을 한다. .default = 앱 전체에 전역.. 2022. 2. 12. Swift) Singleton Singleton 싱글톤은 특정 클래스의 인스턴스가 단 하나임을 보장하는 객체를 말한다. 싱글톤은 애플리케이션이 몇번을 요청하든 이미 생성된 동일한 인스턴스를 반환한다. 프로그램 전체에 단 하나의 전역 인스턴스를 만들어놓고, 어디서든 이 하나의 인스턴스만 접근, 사용할 수 있게 하면 된다. class SingleTonExample { static let shared = SingleTonExample() var testNumber: Int = 0 private init() { } // 객체 생성, 초기화 막음 } let test = SingleTonExample.shared test.testNumber = 10 // reference type (class) print(SingleTonExample.shar.. 2022. 2. 12. 이전 1 ··· 3 4 5 6 7 8 다음