본문 바로가기

iOS84

IOS Application Lifecycle IOS에서 앱을 실행하면 어떤 과정을 통해 실행될까? C언어에 뿌리를 둔 모든 애플리케이션은 main() 함수로부터 시작된다. 이를 Entry Point라고 한다. OS가 애플리케이션 내부에 정의된 main() 함수를 찾아 호출하면 함수에 작성된 코드가 실행되며, 작성해둔 Custom Code에 까지 도달하게 되는 식이다. IOS 앱 또한 Object-C 기반으로 돌아가기 때문에 앱은 main() 함수에서 시작된다. 다만, 다른 C 기반의 앱과 달리, IOS 앱은 핵심 라이브러리인 UIKit Framework가 main() 함수를 관리하여 사용자가 직접 작성하지 않는 차이가 있다. 다음은 실제로 Object-C 기반의 XCode 프로젝트를 생성하였을 때, main.m 파일 안에 생성되는 main() 함수.. 2021. 9. 9.
[Swift] Control Flow Control Flow Swift에서는 while loop, if guard, switch, for-in 문 등 많은 제어문을 제공한다. For-In 문 for-in문은 배열, 숫자, 문자열을 순서대로 순회(iterate)하기위해 사용한다. let names = ["Anna", "Alex", "Brian", "Jack"] for name in names { print("Hello, \(name)!") } // Hello, Anna! // Hello, Alex! // Hello, Brian! // Hello, Jack! 사전에서 반환된 key-value쌍으로 구성된 튜블을 순회하면서 제어할 수도 있다. 하지만 사전은 순서대로 정렬이 되지 않기때문에, 사전에 기입한 순서대로 순회하지않는다. let numbe.. 2021. 9. 8.
Design Pattern - MVC MVC에 대해서 알아보겠다. MVC MVC는 Model - View - Controlller 의 약자이다. IOS 앱의 객체 관계는 MVC 패턴에 기반하고있다. MVC 패턴이란 소스 코드 설계 기법으로써, 모델 - 뷰 - 컨트롤러로 이어지는 세개의 핵심 구조를 이용하여 애플리케이션을 설계하는 것을 말한다. 모델은 데이터를 담당하고, 뷰는 데이터에 대한 화면 표현을 담당하며, 컨트롤러는 모델과 뷰 사이에 위치하여 데이터를 가공하여 뷰로 전달하고, 뷰에서 발생하는 이벤트를 입력받아 처리하는 역할을 한다. MVC 각 섹션 동작 Controller - View Controller는 View에서 생기는 action에 대한 target을 만들어둔다. 그니깐 음.. 콜백이라고 생각하면 될 것 같다. 그 후 actio.. 2021. 8. 31.
[Swift] String and Characters String and Characters 문자열 리터럴 문자열은 큰 따옴표(")로 묶어 표현된다. let someString = "Some string literal value" Multiline String literal - 큰 따옴표 3개로 묶어서 표현 let quotation = """ The White Rabbit put on his spectacles. "Where shall I begin, please your Majesty?" he asked. "Begin at the beginning," the King said gravely, "and go on till you come to the end; then stop." """ //Use a multiline string literal a sequ.. 2021. 8. 24.
[Swift] API Design Guidelines 오늘은 API Design Guidelines을 알아보려한다. 아무래도 내 멋대로 사용하여 실력을 끌어올리는 것도 뭐.. 나쁘지않겠지만.. 제대로 알고 사용하는 것보다 좋은건 없을거다. Swift를 어떻게 사용하면 Swift처럼 잘 쓸 수 있는지를 Apple에서 알려주는 것이다. Apple에서 만든 언어니, 당연히 Apple Guideline을 참고해서 공부하는 것이 정석이겠다싶어서 번역도 하고 참고도 하며 알아보겠다. API Design Guidelines Fundamentals ● 사용 시점의 명확성(Clarity at the point of use)이 가장 중요한 목표이다. 메소드와 프로퍼티같은 엔티티(개체)는 한번만 선언되고, 반복적으로 사용된다. API는 앞서 말한 메소드, 프로퍼티 등의 개체를.. 2021. 8. 24.
[Swift] Optional (2) 2021.08.18 - [Dev/Swift & IOS] - [Swift] Optional (1) [Swift] Optional (1) Swift는 Optional이라는 중요한 개념을 갖고있다. 정말 중요하다. Optional은 Type Casting이나, nil value check 등 에 중요한 역할을 한다. Optional은 '?'을 변수나, 변수 타입에 붙여 표현한다 Optional의 '?.. limjs-dev.tistory.com Optional이 아직 헷갈린다면 기본을 설명한 윗 글을 보고 오길 이전 글엔 Optional, nil을 설명하였다. 이번 글엔 Optional Bindind & chaining, nil 병합.. 먼저 .. Wrapping 부터 알아보자 Wrapping Optional .. 2021. 8. 19.