iOS (115) 썸네일형 리스트형 [iOS] UIResponder UIResponder 본 문서에는 애플 개발자 홈페이지의 UIResponder 공식 문서를 번역한 내용을 작성한다. UIResponder란? UIResponder 클래스는 이벤트에 대한 응답 등과 같은 처리를 위한 추상 인터페이스를 의미한다. class UIResponder: NSObject UIResponder 클래스는 NSObject 클래스를 상속한다. Overview Responder 객체는 UIResponse의 인스턴스이며 UIKit app의 이벤트 핸들링의 백본(Backbone)을 구성한다. 많은 핵심 객체들 (ex: UIApplication 객체, UIViewController 객체 ...etc)는 모두 Responder다. 이벤트가 발생하면 UIKit은 이를 처리하기 위해 Responder .. [iOS] NavigationController RootView 변경 오늘 프로젝트를 진행하다가 삽질을 엄청 하고 배운 내용을 남긴다. (부디 저와 동일한 문제를 겪게된 분들은 삽질을 하지 않으시길 바랍니다.) 현재 프로젝트는 최대한 StoryBoard 사용을 지양하고 Programmatically 한 UI 개발을 지향 하고있다. 따라서, 코드로 모든 UI를 개발하는 도중 Navigation Controller 의 RootViewController를 변경해야 할 일이 생겼다. (어쩌면 이를 건들지 않고 해결할 수 있는 방법이 있을지도 모른다.) modal 뷰를 이용하여 임시방편으로 사용할지 많은 고민을 했으나 아무리 생각해도 Navigation Controller로 이어지는 것이 더욱 UX 측면에서 옳다고 생각했다.. 생각을 행동으로 옮긴 결과 약 한시간 동안 열심히 삽질.. [iOS] Completion Handler Completion Handler 본 문서에는 평소에 공부를 진행하며 한번 정리가 필요하다고 생각했던 Completion Handler에 대한 내용을 기재한다. Prerequisite Completion Handler 개념은 알면 알수록 어려운 개념이다.. Closure (특히 Trailing Closure) 에 대한 이해가 부족하다면 Closure Summary 를 비롯한 다양한 레퍼런스들을 앞서 살펴보는 것이 좋지만 Trailing Closure 개념에 대해 간단히 정리하고 본 내용으로 들어가도록 한다. Trailing Closure Trailing Closure, 후행 클로저는 함수의 마지막 인자로 클로저 표현식을 함수에 전달하거나 클로저 표현식이 긴 경우에 사용한다. (매우 꿀 기능이다!) 아래 .. [iOS] Firebase Firebase 본 문서에서는 Firebase라는 서비스가 무엇인지 그리고 어떠한 기능을 제공하는지에 대해 살펴본 내용을 정리하도록 한다. Firebase란 Firebase는 구글이 인수하여 서비스하고 있는 대표적인 BaaS(Backend as a Service)다. 과거 모바일 앱의 서버를 개발하기 위해서는 인증, 데이터베이스, 푸시 알람, 스토리지 ,API등 모든것을 개발해야 했다. 이러한 반복적인 작업을 앱을 개발할 떄 마다 하는 것은 엄청난 시간낭비다. Firebase는 이러한 불편한 점을 해소해주는 서비스다. 따라서, Firebase란 서비스를 구축하기 위한 서버 인프라 구축, 서버단 세팅 등을 고민하지 않고 클라이언트 단의 작업만 진행하여 서비스를 제작할 수 있도록 돕는 서비스다. Fireba.. [iOS] Dive in Closure Dive in Closure 본 문서에서는 알다가도 모르겠는 Closure에 대하여 확실히 알아보도록 한다. 클로저란 우리는 함수를 정의할떄 func 이라는 키워드를 이용해 정의해왔다. 클로저는 함수와 동일한 기능을 하되, func키워드와 함수명이 없는 함수이다. 흔히들 익명함수라고 부르기도 한다. 클로저의 기본 문법에 대해 먼저 살펴보도록 하자. { (parameters) -> Return Type in body } () 사이에 인자를 받고 ->를 통해 반환 타입을 명시한다. 이후 in 키워드 뒤에 나오는 부분이 실행할 코드를 기재하는 클로저의 몸체 부분이다. Func vs Closure 함수와 클로저의 차이점에 대해 간단히 살펴보도록 한다. Function func 키워드를 통해 정의한다. 이름을 갖.. [iOS] AppDelegate 그리고 SceneDelegate AppDelegate & SceneDelegate 오늘은 iOS13 버전 이후 프로젝트 생성시 자동으로 생성되는 AppDelegate.swift 와 SceneDelegate.swift 파일에 대해 알아보고자 한다. iOS 12 까지는 하나의 앱에 하나의 window 구성이였으나 iOS 13 이후부터는 window의 개념이 scene 으로 대체되고 하나의 앱에서 여러개의 scene을 가질 수 있게 되었다. 그러면 여기서 말하는 Scene이 대체 무엇인지 먼저 알아보도록 하자! Scene이란 scene은 앱의 사용자 인터페이스 및 컨텐츠의 배경으로 사용된다. Scene에는 UI의 하나의 인스턴스를 나타내는 windows와 ViewController가 들어있다. Scene들은 같은 메모리와 앱 프로세스 공간을.. [iOS] Singleton Pattern Singleton Pattern Singleton Pattern iOS에서의 싱글톤이란 영어 사전 1번 뜻인 단독 개체라는 의미에 가깝다. 애플은 "싱글톤 객체는 응용 프로그램이 몇번 요청하는지에 관계없이 동일한 인스턴스를 반환한다." 라고 싱글톤을 설명하고 있다. 위 설명대로 싱글톤은 특정용도의 객체를 단 하나만 정적으로 생성하여 공용으로 사용하고자 할 때 사용한다. 이 객체는 메모리에서 해제해주지 않는 이상 프로그램이 끝날 떄 까지 메모리에 유지된다. Apple의 프레임워크를 이용하다 보면 아래와 같은 코드를 살펴본 적이 있을것이다. let sharedURLSession = URLSession.shared let standardUserDefautls = UserDefaults.standard 싱글톤 .. [iOS] REST API, RESTful Rest API 이번에는 개발에 관심있는 사람이라면 한번쯤은 들어봤을 Rest API에 대해 알아보고자 한다. Rest API에 대하여 본격적으로 살펴보기 이전에 API 개념에 대해 먼저 알아보자! API란? API는 Application Programming Interface의 약자로, 응용프로그램에서 사용할 수 있도록, 운영체제 또는 프로그래밍 언어가 제공하는 기능을 이용해 이를 제어할 수 있도록 만든 인터페이스라고한다. ?... 솔직히 잘 이해가 안간다. 어플리케이션, 프로그래밍, 인터페이스 각각의 단어에 대해서는 익히 듣고 충분히 이해하고 있다. 보다 쉬운 이해를 위하여 비유를 통해 설명해보겠다. 대부분의 핸드폰에는 홈 버튼 이라는 기능을 제공한다. 즉, 해당 버튼을 누르면 언제 어디서든지 홈 화.. 이전 1 ··· 8 9 10 11 12 13 14 15 다음 목록 더보기