분류 전체보기
-
단위테스트와 TDDiOS 2020. 12. 15. 10:47
안녕하세요. 그린입니다! 이번 포스팅에서는 코드에 대한 단위테스트와 TDD에 대해 알아보겠습니다. 우선 단위테스트와 TDD의 개념은 모든 언어를 통해 개발을 진행하며 나올 수 있는 개념입니다. 그렇지만 저희는 iOS를 학습하고 있기에 기본적으로 단위테스트와 TDD가 어떤것인지 먼저 파악한다음 Xcode에서 어떻게 생성하고 어떤 코드를 써서 테스트를 진행하는지 알아보겠습니다~! [단위테스트] 단위테스트는 말 그대로 코드의 테스트를 단위별로 쪼개 테스트를 작게 진행하는 방법론 중 하나입니다. 효율적인 테스트를 하기 위해서는 5가지의 조건이 있습니다. 앞글자를 따서 FIRST라고 합니다. 1) Fast: 빠름, 테스트는 빨라야한다. 2) Independent: 독립적, 테스트 코드는 독립적이여야한다. 3) R..
-
제네릭Swift 2020. 12. 13. 16:54
안녕하세요. 그린입니다! 이번 포스팅에서는 제네릭에 대해 알아보겠습니다. 제네릭은 스위프트 언어로 사용 할 수 있는 아주 중요한 기능입니다..!! 제네릭을 이용하면 코드의 중복을 줄여주고 구현한 기능/타입을 재사용할 수 있습니다 (한번만 구현하면 됩니다~!!) 1. 제네릭 선언 및 사용 -. 메서드 이름 뒤 () 기호를 붙여 표시 -> func generic (value: T) -> T { } func ++ (frontNumber: T, backNumber: T) -> T { return frontNumber + backNumber } * BinaryInteger 프로토콜로 타입을 좀 더 명확히 주어 정수 타입 모두 해당 될 수 있도록 설정 2. 제네릭 함수 -. 함수 메서드를 제네릭으로 선언하면 위에서..
-
자료구조와 알고리즘CS(ComputerScience) 2020. 12. 8. 16:15
안녕하세요. 그린입니다! 이번 포스팅에서는 자료구조와 알고리즘에 대한 개념에 대해 포스팅해보겠습니다. 컴퓨터 기본지식이자 좀 어려우면서 가장 중요하다고도 할 수 있는 자료구조와 알고리즘! 말하자면 한도 끝도 없을것이고 많은 부분이 있지만 이번 포스팅에서는 조금 간단하게 개념만 짚고 넘어가겠습니다^^ [용어 정리] -. 알고리즘: 문제해결을 위한 절차/방법의 모음 (순차적인 방법) -. 자료구조: 자료를 효율적으로 이용할 수 있는 방법론 (데이터를 최적화하여 재조립하는 느낌, 데이터 구조적표현, data structer) [자료구조의 종류] -. 원시구조 / 선형구조 / 비선형구조 / 물리구조 / 추상적 구조 :원시구조란, 자료(정수,실수 등..)를 쪼개거나 조합하여 만들어놓음 [자료구조의 활용] 1. 배..
-
AppDelegate & SceneDelegateiOS 2020. 12. 7. 09:50
안녕하세요. 그린입니다! 오늘 포스팅에서는 Xcode로 애플리케이션을 만들때 좌측 Project Navigator에서 AppDelegate.swift와 SceneDelegate.swift 파일을 다뤄보겠습니다. 두 파일은 애플리케이션이 만들어지고 구동될때 꼭 필수적인 파일로 기본적으로 세팅이 되어있어 크게 건드시는일이 없었을겁니다. 그런데 이번 프로젝트를 하다보니 iOS 버전이 사용자 마다 다를경우 만약 iOS 버전에 따라 사용하지 못하는 프로토콜이나 어떠한 기능이 있다라고한다면 조정해주는 방법에 대해 안내하겠습니다. iOS 13 버전 이전에는 AppDelegate 파일 안에서 뷰 싸이클을 구동해주고 나타내주는 그러한 메서드들의 구현이 다 이뤄져있었습니다. 그런데 iOS 13 이후 부터는 따로 Scene..
-
SOLIDCS(ComputerScience) 2020. 12. 3. 17:05
안녕하세요. 그린입니다! 오늘은 SOLID에 대해 학습한 부분을 공유해보며 생각을 정리해보겠습니다..! SOLID가 뭘까요 도대체?? 스위프트는 객체지향 언어인건 다들 아실겁니다. SOLID를 개괄적으로 정리하자면 객체지향프로그래밍을 위한 5가지 원칙!! 이라고 표현할 수 있습니다. SOLID는 어떻게보면 프로그래밍을 하기위한 디자인 패턴과 같이 어떠한 약속? 이라고 생각됩니다. 누구나 보기 편하고 단순하며 확장성이 있는 프로그래밍을 하는것이 중요하다고 모든 프로그래머들은 생각합니다. 그렇기 위해서 디자인 패턴이던 MVC 모델이던 있다고 생각들죠? 그런것과 SOLID의 관념은 유사하다고 생각듭니다. 그러면 이제 SOLID가 5가지 원칙이라면 어떤 5가지를 나타내는지 이제 알아보겠습니다~! 1. SRP (..
-
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 -. 말 그..