iOS
-
Application Life CycleiOS 2021. 1. 14. 19:24
안녕하세요. 그린입니다! 이번 포스팅에서는 iOS에서의 앱 생명주기에 대해 알아보겠습니다. 그리고 파생되어 AppDelegate와 SceneDelegate에 대해서도 알아보도록 하죠! 1. Application Life Cycle : iOS에서의 앱 생명주기는 아래와 같은 순서로 볼 수 있습니다. 1) 사용자 앱 아이콘 터치 실행 2) main() 메서드 실행 (AppDelegate 파일) 3) UIApplicationMain 메서드 호출 실행 (앱 생명주기 단계 시작 메서드) 4) UIApplication 객체 인스턴스 생성 (앱 로딩 프로세스) 5) nib / Info.plist 파일에서 부가 데이터들을 Read & Load 6) AppDelegate 객체 인스턴스 생성 > App 객체 인스턴스 연결..
-
단위테스트와 TDDiOS 2020. 12. 15. 10:47
안녕하세요. 그린입니다! 이번 포스팅에서는 코드에 대한 단위테스트와 TDD에 대해 알아보겠습니다. 우선 단위테스트와 TDD의 개념은 모든 언어를 통해 개발을 진행하며 나올 수 있는 개념입니다. 그렇지만 저희는 iOS를 학습하고 있기에 기본적으로 단위테스트와 TDD가 어떤것인지 먼저 파악한다음 Xcode에서 어떻게 생성하고 어떤 코드를 써서 테스트를 진행하는지 알아보겠습니다~! [단위테스트] 단위테스트는 말 그대로 코드의 테스트를 단위별로 쪼개 테스트를 작게 진행하는 방법론 중 하나입니다. 효율적인 테스트를 하기 위해서는 5가지의 조건이 있습니다. 앞글자를 따서 FIRST라고 합니다. 1) Fast: 빠름, 테스트는 빨라야한다. 2) Independent: 독립적, 테스트 코드는 독립적이여야한다. 3) R..
-
AppDelegate & SceneDelegateiOS 2020. 12. 7. 09:50
안녕하세요. 그린입니다! 오늘 포스팅에서는 Xcode로 애플리케이션을 만들때 좌측 Project Navigator에서 AppDelegate.swift와 SceneDelegate.swift 파일을 다뤄보겠습니다. 두 파일은 애플리케이션이 만들어지고 구동될때 꼭 필수적인 파일로 기본적으로 세팅이 되어있어 크게 건드시는일이 없었을겁니다. 그런데 이번 프로젝트를 하다보니 iOS 버전이 사용자 마다 다를경우 만약 iOS 버전에 따라 사용하지 못하는 프로토콜이나 어떠한 기능이 있다라고한다면 조정해주는 방법에 대해 안내하겠습니다. iOS 13 버전 이전에는 AppDelegate 파일 안에서 뷰 싸이클을 구동해주고 나타내주는 그러한 메서드들의 구현이 다 이뤄져있었습니다. 그런데 iOS 13 이후 부터는 따로 Scene..
-
Gesture RecognizeriOS 2020. 12. 2. 18:56
안녕하세요. 그린입니다! 이번 포스팅에서는 Gesture Recognizer에 대해 살펴보겠습니다. 개발을 하다보면 사용자의 터치나 스와이프/롱 프레스 같은 반응에 대해 처리를 해줘야하는 경우가 많습니다. 제가 이번에 애플리케이션을 제작하며 구현해보는 과정에서 텍스트 필드에서 키보드가 올라오고 해당 키보드가 다른 부분을 터치할때 내려가게 하고싶어 이것저것 찾아봤습니다. 그럼 함께 그런것들을 하려면 어떤 방법이 있는지 무슨 차이가 있는지 보겠습니다 !!! 크게 터치에 대해 반응을 구현할때는 2가지가 있습니다. touch VS Gesture Recognizer 1. touchBegan/Ended/Moved/Cancelled -. touchBegan: 터치가 시작되는 시점에 메서드를 호출 -. touchEnd..
-
UMLiOS 2020. 12. 2. 01:50
안녕하세요. 그린입니다! 이번 포스팅에서는 UML에 대해 제가 학습하며 느낀것을 정리해보는 시간을 가져보겠습니다ㅎㅎ 아직 저도 미숙한 부분이 많으며 포스팅의 내용이 정확하지 않을 수 있습니다..! 발전해나가는 과정이라서요..^^ 수정되야할것이나 의견이 있으시면 언제든 댓글 부탁드려요~~!! UML -. Unified Modeling Language의 약자로 표준화 모델링 언어 -. 시스템 구조를 다이어그램으로 연결하여 표현할 수 있습니다. (예를들어 이름/속성/연산 등등..!) -. UML을 사용하는 가장 큰 이유는 코드에 대한 설명을 더욱 편하게 해줍니다. 코드를 설명할때는 3가지 정도의 방법이 있는데 1) 해당 코드만으로 설명이 필요없을 만큼 잘 짜거나!! 2) 글이나 주석으로 표현을 하거나~ (가장..
-
View LifeCycle (생명주기)iOS 2020. 11. 24. 14:01
안녕하세요. 그린입니다! 오늘은 스위프트로 뷰가 나타나는 생명주기에 대해 학습하겠습니다. View LifeCycle, 생명주기 간단한 주제이지만 화면 전환에 있어서 가장 중요하죠~!? 뷰가 화면에 나타나고 사라질때 그 순환 싸이클을 나타내는것으로 뷰 컨트롤러에는 아래와 같이 여러 단계의 생명주기를 가지고 있습니다. [생명주기] 1. init (초기화) 2. loadView -. 뷰 컨트롤러가 메모리에 로드된다. 3. viewDidLoad -. 뷰가 실질적으로 메모리에 로드된다. 이 메서드에서 오버라이드하여 화면이 보여지기 전 기능들을 구현할 수 있다. 간단히 초기화면을 구성하는 메서드로 볼 수 있다. 중요한점은 해당 메서드는 실행 후 오직 한번만 호출이 된다. 4. viewWillAppear -. 말 그..
-
KVO와 Notification 간단 정리iOS 2020. 11. 19. 15:44
안녕하세요. 그린입니다! 이번 포스팅에서는 간단하게 KVO와 Notification에 대해 제 생각을 정리한 부분을 공유하겠습니다. 코드가 있는것은 아니고 학습한 내용으로 간단한 정리입니다. -. KVO : Key-ValueObserving의 약자로, 주체가 노티피케이션처럼 센터가 아닌 자기자신이다. 다른 인스턴스에 직접 매칭을 하며 변화를 찾는다. 예전방식으로 지금은 잘 사용되지 않는 방식 -. Notification : 인스턴스 간 통신으로 인스턴스 사이 정보를 전달해서 알려줄 수 있는 매개체로 볼 수 있다. 매개체를 알려주는것은 Notification이라고 하고 그 매개체의 변화를 지켜보고 싶은것을 Observing이라고 한다. 그리고 그 매개체를 알려주는 센터를 Notification center..