본문 바로가기

iOS121

Escaping Closure 정의 - Escaping Closure는 클로저가 함수의 인자로 전달될 때, 함수가 반환(함수가 종료)된 후 실행되는 것을 의미합니다. - Escaping Closure를 활용해 함수 사이에 실행 순서를 지정할 수 있습니다. - completion 타입에 @escaping를 사용해 Escaping Closure라는 것을 명시합니다. - 반대로 함수의 실행이 종료되기 전에 클로가 실행되는 Non-Escaping Closure도 있습니다. 예제 1 : Non-Escaping Closure - 다음 클로저의 실행 순서를 통해 어떤 클로저인지 알아보겠습니다. func runClosure(closure: () -> Void) { closure() } - 먼저 runClosure( )함수의 인자로 closure가 .. 2022. 2. 23.
ARC [ Automatic Reference Counting ] ARC이란? - Automatic Reference Counting의 약자로 reference(참조) 타입인 클래스의 인스턴스를 관리합니다. - Swift는 앱의 메모리 사용을 추적하고 관리하는 ARC를 사용합니다. - 대부분의 경우에 메모리 작업은 이상없이 작동하며, 메모리 관리를 생각할 필요가 없습니다. - ARC는 인스턴스가 더 이상 필요하지 않을 때, 인스턴스에 사용된 메모리를 자동적으로 해제합니다. ARC의 강한 참조 - 클래스의 인스턴스를 만들때마다 ARC는 인스턴스에 대한 정보를 저장하기 위해 메모리를 할당합니다. (=이 메모리에는 해당 인스턴스의 자료형과 프로퍼티 저장) - 인스턴스가 더 이상 필요하지 않을 때 ARC는 해당 인스턴스가 사용하는 메모리를 해제합니다. - ARC가 아직 사용중.. 2022. 2. 22.
SceneDelegate란? SceneDelegate - iOS 13부터 SceneDelegate가 AppDelegate의 일부 역할을 담당합니다. - iOS 12까지는 하나의 앱에 하나의 Window가 있는 개념이었지만, iOS 13부터는 Window의 개념이Scene으로 대체되고 하나의 App(iPad)에서 여러 개의 Scene을 가질 수 있습니다. - 또한 iOS 12에서 UIApplicationDelegate의 기능을 iOS 13부터는 UISceneDelegate가 수행하게 되었습니다. (UILifeCycle에 대한 부분을 UISceneDelegate가 수행합니다.) SceneDelegate 함수 - 다음은 SceneDelegate에 있는 함수들입니다. scene(_ : willConnectTo : options :) = S.. 2022. 2. 21.
ViewController 생명주기 생명주기 [ Life Cycle ] - 사전적 의미는 기술이나 제품이 세상에 발표된 후로 사용되지 않게 되거나 시장에서 사라질 때까지의 기간이며, 다른 기술이나 제품에 의해 대체될 때까지의 기간을 나타냅니다. - 컴퓨터, 정보 처리, 통신, 등, 다양한 분야에서 사용되는 단어입니다. - iOS에서는 앱 생명주기와 뷰 컨트롤러 생명주기로 구분할 수 있습니다. ViewController의 특징 - ViewContorller 역할 1, 데이터에 변동 발생 시 내용 업데이트 2, User Interactions(터치, 드래그, 등,,) 처리 3, View 크기 조정, 레이아웃 관리 4, 다른 ViewController 등의 객체들과 상호작용 - ViewController 종류 • Content View Cont.. 2022. 2. 19.
App Life Cycle [ 앱 생명주기 ] 생명주기 [ Life Cycle ] - 사전적 의미는 기술이나 제품이 세상에 발표된 후로 사용되지 않게 되거나 시장에서 사라질 때까지의 기간이며, 다른 기술이나 제품에 의해 대체될 때까지의 기간을 나타냅니다. - 컴퓨터, 정보 처리, 통신, 등, 다양한 분야에서 사용되는 단어입니다. - iOS에서는 앱 생명주기와 뷰 컨트롤러 생명주기로 구분할 수 있습니다. 앱 생명주기 [ App Life Cycle ] - 앱 생명주기는 앱에서 홈버튼을 눌렀을 때와 같이 앱이 화면상에서 보이지 않는 Background 상태, 또는 화면에 올라와 있는 상태인 Foreground, 등과 같은 상태를 정의한 것입니다. - 앱 생명주기에 대해 이해하기 위해서 iOS에서 앱이 실행될 때 일어나는 일에 대해 알아보겠습니다. 앱 실행.. 2022. 2. 18.
컬렉션 타입 [Collection Types] 정의 - 컬렉션 타입은 데이터들의 집합으로, Swift에서 컬렉션 타입은 지정된 타입의 데이터 묶음입니다. - Swift에서 컬렉션 타입으로 Array, Set, Dictionary 세 가지를 지원합니다. - 세 가지 컬렉션 타입은 변수(var)에 할당하면 변경이 가능하고 상수(let)에 할당하면 변경 불가능합니다. - Swift에서 컬렉션 타입들은 모두 제네릭 컬렉션으로 구현되어있습니다. 2022.02.08 - [분류 전체보기] - 제네릭 [ Generic ] 제네릭 [ Generic ] 정의 - 제네릭 코드는 유연하게 코드를 작성할 수 있습니다. - 재사용함수와 자료형을 어떤 자료형이든 사용하여 작업할 수 있도록 요구사항을 정의합니다. - 코드의 중복을 방지할 수 있습니다. seagreen83.tis.. 2022. 2. 17.