오늘은 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 구현 시의 각각의 장단점을 설명하시오