[TIL] TodoList 제출 및 기술질문

한철희·2024년 3월 28일
0

TIL

목록 보기
23/57

오늘은 iOS입문 주차 과제를 제출하고
제출페이지에 있는 기술 질문도 작성했다.
듬성듬성 기억을 되살리면서 최대한 작성했는데
좋은 질문들인거 같아서 블로그에서 내용도 조금 더 추가해서
다시 작성해두려고 한다


질문 1 - 모든 View Controller 객체의 상위 클래스는 무엇이고 그 역할은 무엇인지 아는대로 작성해보세요.

일단 모든 View Controller 객체의 상위 클래스는UIViewController이다

UIViewController는 앱의 UI를 구성하는 기본 단위로, 개발자는 이를 상속받아 다양한 화면과 기능을 구현할 수 있다. 각 View Controller는 특정 뷰의 콘텐츠를 관리하며, 앱 내에서 여러 View Controller들이 서로 협력하여 복잡한 사용자 인터페이스를 구성한다.

피드백. UIResponder도 알아보면 좋을것같다고 하셨다


짋문 2 - 옵셔널과 옵셔널 해제에 대해 아는대로 작성해보세요.

옵셔널은 swift언어의 안정성을 위해 값이 nil일수도 있는 변수를 안전하게 다루기 위해 사용합니다

옵셔널 해제는 크게 강제언래핑과 옵셔널 바인딩으로 나뉘는데
강제 언래핑은 변수명 뒤에 !를 붙여서 언래핑하는 비교적 간단한 방법입니다

print(number!)

대신 nil값이 아니라는 가정하에 사용해야 하며 nil값이 들어갈 경우 앱이 크래시가 납니다
옵셔널 바인딩인 if let 이나 guard let을 통해 변수가 nil값을 가지는지 확인하고 언래핑을 합니다

if let safeNumber = number { print(safeNumber) }

nil값이 아닐 경우와 nil일 경우에 따라서 다른 동작을 하도록
할 수 있습니다


질문 3 - UIKit에서 스토리보드로 UI 구현하기와 코드로 UI 구현 시의 각각의 장단점을 설명하시오

스토리보드 구현방식

  • 드래그 앤 드롭 방식으로 직관적이며 구조를 한눈에 파악하기 쉽다
  • 제작하는 속도가 빠르다
    단점
  • 여러 요소가 있을 경우 충돌할 가능성

코드 구현방식

  • 세세한 제어가 더 용이하다
  • 다른 요소와 충돌이 적고 해결도 원할함
    단점
  • 코드로 작성해야하는 만큼 시간이 많이 소모된다
  • 한눈에 인터페이스를 파악하기 어렵다. 직관성 x
profile
초보 개발자 살아남기

0개의 댓글