iOSInterviewquestions를 보고 정리하기!
Custom Alert Apple의 기본 UI는 뛰어나지만, 프로젝트에 따라 Alert의 커스텀을 요하는 경우가 있다. 본인은 주로 SwiftUI를 사용해서 개발을 하고 있는데, 보통 나라면 이런 경우 ZStack을 사용해서 Alert을 띄운다. 하지만 만약 하위 뷰에서 띄워야 한다면? 원하는 데로 동작을 안할 확률이 높다. 내가 원하는 것은 부모 뷰까지...
SenceDelegate에 대해 설명하시오. iOS 13부터 도입된 개념으로써, 앱당 하나의 window만을 가졌던 과거에 비해 앱당 여러개의 scene을 가질 수 있게 되면서 생겼다. Scene에는 UI의 인스턴스를 나타내는 windows와 ViewController
UIKit 클래스들을 다룰 때 꼭 처리해야하는 애플리케이션 쓰레드 이름은 무엇인가? Main Thread UIApplication의 인스턴스가 main thread에 붙고(attach) 이 UIApplication은 앱을 시작할 때 인스턴스화 되는 앱의 첫번째 부분이고 앱의 run loop를 포함하여 main event loop를 설정하고 event처리를...
setNeedsLayout와 setNeedsDisplay의 차이에 대해 설명하시오. setNeedLayout 하위 뷰들의 레이아웃을 조정하고 싶을 때 호출하는 메소드 요청을 기록하고 즉시 반환 메소드는 강제로 즉시 업데이트하지 않고 다음 업데이트 주기를 기다림 레이아웃 업데이트를 하나의 업데이트 주기로 통합할 수 있으며, 일반적으로는 성능이 더 좋음 내부...
MVC 구조에 대해 각 역할과 흐름을 설명하시오. Model 애플리케이션에 관한 데이터 자체의 데이터를 가지고 하는 처리를 담당 View 사용자에게 보여지는 화면 Controller에게 데이터를 받아서 보여줌 Controller View와 Model사이의 중개자 Model의 변경을 View에 갱신 또는 View에서의 User Action을 Mod...
Struct 가 무엇이고 어떻게 사용하는지 설명하시오. 스위프트에서의 구조체 call by value가 더 적절할 때 상속이 필요 없을 때 Subscripts에 대해 설명하시오. class, struct, enum 등에서 특정 멤버 요소를 접근하기 위한 방법 subs
defer가 호출되는 순서는 어떻게 되고, defer가 호출되지 않는 경우를 설명하시오. 호출 순서 선언된 역순으로 호출된다. > 순차적으로 스택에 저장되기 때문에 LIFO로 호출된다. 선언된 코드 블럭을 빠져나가기 직전에 실행된다. 호출되지 않는 경우 throw를 이용해 오류를 던질 경우 guard를 사용해 중간에 함수를 종료하는 경우 리턴 값이 Ne...