viewWillAppear / viewDidAppear
viewDidLoad()는 Disappeared에서 viewWillAppear로 넘어가기 직전에 실행된다. 그리고 어플리케이션이 실행되는 동안 딱 초기 1회만 실행되기 때문에, viewDidLoad()에 코드를 작성할 때에는 이 코드가 앱 실행시의 1회만 실행되도 문제가 없는 코드인지 고려하고 작성해야 한다.
가령, 화면 ①
에 보이는 정보를 수정하기 위해 특정 버튼을 눌러 화면 ②
로 이동할 경우 화면 ①
은 Disappearing 상태에 들어간다. 그리고 화면 ②
에서 정보 수정을 마치고 다시 화면 ①
로 돌아오면 화면 ①
은 Appeared 상태가 된다.
이 때, 수정된 정보를 뷰에 반영해주는 작업을 viewDidLoad에 작성했었다면 이렇게 수정 작업이 일어나도 다시 돌아온 화면 ①
에서는 수정된 정보를 볼 수 없다. viewDidLoad는 이미 뷰가 처음 보여질 때 실행되었기 때문에 다시 실행되지 않고, 이로 인해 수정된 정보를 뷰에 갱신하는 작업이 일어나지 않기 때문이다.
외부 라이브러리를 사용하기 위해 Android에 Gradle이 있는 것처럼 iOS에는 CocoaPods가 있는데,
Android Studio에서는 repositories에 라이브러리의 아카이브인 jCenter() 혹은 mavenCentral()을 추가하고 나면 build.gradle 파일에서 dependencies 추가로 간단하게 라이브러리를 import해서 쓸 수 있다.
allprojects {
repositories {
jcenter()
mavenCentral()
}
}
하지만 iOS에서는 XCode상에서 이렇게 간단히 CocoaPods를 이용할 수 있는 방법이 없다. 터미널상에서 프로젝트 폴더 경로에 따로 CocoaPods를 설치해주면 Podfile이 생성되고, 이 Podfile에 필요한 라이브러리를 추가해야 XCode상에서 라이브러리를 import해서 쓸 수 있다.
프로젝트 설정이다.
iOS 15.2
라고 쓰여있는 부분을 누르면 프로젝트가 구동될 OS 버전을 채택할 수 있다.iPhone
iPad
Mac Catalyst
는 이 어플리케이션을 실행시킬 기기를 체크박스를 통해 선택할 수 있다. Main interface
는 LaunchScreen (Android에서 Splash) 이후에 가장 먼저 나올 스토리보드를 지정하는 부분이다. 여기에서만 지정한다고 되는 건 아니고,Navigation Controller
에 포커스를 주었을 때 Inspector > View Controller > Is initial View Controller 에 체크된 뷰컨트롤러가 담당하는 스토리보드(여기선 Main)와 일치해야 한다.Device Orientation
은 기기의 화면 방향을 설정한다.Status Bar Style
은 상태바의 색상을 지정한다. Default는 검은색이다.아나 분명히 사수님께 설명 많이 들었는데 하루 지나고 쓸라니까 기억이 안 나네 ;;;;; 매일 써야겠다