첫번째 파라미터에 value, 두번째 파라미터에 key를 입력해 저장한다.
기존에 사용하던 key의 value값을 바꿀 때도 set을 통해 변경할 수 있다.
UserDefaults.standard.setValue(4, forKey: "month")
UserDefaults.standard.setValue(19, forKey: "day")
UserDefaults.standard.setValue("야곰", forKey: "name")
UserDefaults.standard.setValue(true, forKey: "attend")
값이 없는 경우가 존재할 수 있으므로 nil 병합 연산자 ??
나 guard let 구문을 사용해 대비하는 것이 좋다.
let month = UserDefaults.standard.integer(forKey: "month")
let day = UserDefaults.standard.integer(forKey: "day")
let name = UserDefaults.standard.string(forKey: "name")
let attend = UserDefaults.standard.bool(forKey: "attend")
print("\(month)월 \(day)일 \(name) 출석여부: \(attend)")
UserDefaults.standard.removeObject(forKey: "day")
주어진 Storyboard ID(withIdentifier에 들어가는 값)를 가지는 뷰 컨트롤러의 데이터를 초기화해 인스턴스를 메모리에서 해제하고, 새로운 뷰 컨트롤러 인스턴스를 생성하는 메소드이다.
때문에, instantiateViewController는 새로운 뷰로 넘어갈 때 사용해야 한다.
우리의 프로젝트에서는 QuestionViewController를 재사용하면서 안의 데이터만 바꿔치기해줄 것이므로 이 instantiateViewController를 사용하기에 적합하다.
func pushViewController(UIViewController, animated: Bool)
해당 VC로 이동하고 VC Stack에 추가하는 메소드
func popViewController(animated: Bool) -> UIViewController?
VC Stack에 쌓여있는 이전 VC로 이동하는 메소드. 현재 VC는 사라진다.
func popToRootViewController(animated: Bool) -> [UIViewController]?
navigationController에서 지정해놓은 Root VC로 이동하는 메소드. VC Stack에 쌓여있는 VC는 모두 사라진다.
func popToViewController(UIViewController, animated: Bool) -> [UIViewController]?
지정된 VC가 나올 때까지 VC Stack에 쌓여있는 VC들을 한꺼번에 pop하는 메소드
헤헤 오늘은 여기까지
이제 첫 외근하러 ~!
참고
Tistory | 개발새발 개발개발 / UserDefaults
Tistory | 미닛메이드 / InstantiateViewController
Tistory | 투데잇 / popViewController, pushViewController