iOS
-
KeyChainiOS 2021. 2. 1. 16:58
안녕하세요. 그린입니다! 이번 포스팅에서는 KeyChain 즉 키체인에 대해 알아보겠습니다😀 우선 키체인이란 무엇인가!? : 키체인은 데이터베이스에 암호화된 데이터의 작은 모음들을 저장하는 매커니즘 (열쇠다발)로 표현됩니다! 그럼 이제 키체인과 관련하여 좀 더 자세히 알아보도록하죠🧐 1. 유저 데이터를 저장하는 방법들 1) Keyed Archiver: coreData보다 덜 복잡하고 느리지만 사용이 간단하다. 저장할 데이터가 NSConfig 프로토콜을 채택해야하며 데이터를 저장할 시 키/이름으로 인코딩을하고 꺼낼때 디코딩을 이용한다. 2) CoreData: UserDefault보다 더 복잡하지만 저장된 정보에 구조가 필요할 때 유용하다. 대용량 데이터 저장에 사용되는 관계형 DB, 간단한 UI에서 자동으..
-
Collection ViewiOS 2021. 1. 25. 18:07
안녕하세요. 그린입니다! 이번 포스팅에서는 Collection View (컬렉션 뷰)에 대해 알아보겠습니다. 컬렉션 뷰는 테이블 뷰와 비슷한 개념으로 데이터들을 형태로 나타낼 수 있는 뷰입니다. 그러나 테이블 뷰와는 차이점도 있고 공통점도 많습니다. 컬렉션 뷰에 대해 더 자세히 알아보도록 하죠! 1. 정의 및 특징 1) 데이터 (아이템)을 그리드 형태로 나타내는 뷰 -. 그리드란? 격자무늬라는 사전적 단어의 의미로 표와 같은 형태 2) 테이블 뷰에 비해 데이터 나열이 프리하여 테이블 뷰보다 많은 아이템을 보여줄때 유리함 3) 유연하고 변경 가능한 레이아웃의 사용 2. 구성 : 컬렉션 뷰에는 아래 3가지 요소의 뷰로 구성됨 1) Supplementary View (보충 뷰): Section Header, ..
-
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 -. 말 그..