New Learnings
- XCode Areas: Navigator, OutlineView, Interface Builder, Editor, Inspector
- Below iOS13, AppDelegate managed all the lifecycle, but above iOS13, iPadOS was released so there was need for SceneDelegate because iPad supports multiple scenes for one app.
- AppDelegate manages app launch, termination, and process lifecycle.
- SceneDelegate manages UI lifecycles such as Foreground/Background state
- UIKit
- UIView
- UILabel
- UIButton
- UIImageView
- …
- UIViewController
- UITableViewController
- UIPageViewController
- …
- UIFont
- UIColor
- …
- Cocoa Touch Framework: Apples top level framework for developing Apple devices. Contains tools such as camera, advertisement, contacts, notification etc.
- Foundation Framework: primitive data types, collections, files, network
- IBOutlet, IBAction errors can be mostly resolved by looking at the connection inspector area and manually deleting/managing each connections for each view.
- @discardableResult tag allows use of function without returning it.
- FrameBasedLayout vs AutoLayout: Multiple device sizes required new type of layout system.
- Adaptive Layout: Use Size Class, Trait Collection to create UI from storyboard for iOS and iPadOS
- SizeClass: Since designing separately for all devices is inefficient, Apple uses regular and compact size classes.
- Regular & Compact Width & Height (22)
- Regular Width * Regular Height
- Regular Width * Compact Height
- Compact Width * Regular Height
- Compact Width * Compact Height
Challenges
AutoLayoutPractice 를 통해 3~4가지 화면들을 만들어보았다. 그 과정에서 한번에 여러 뷰들의 레이아웃을 잡으려니 에러도 많이 겪었는데 나름 노하우가 생기는것 같다. 먼저 큰 틀들 위주로 잡고 안을 하나씩 잡는게 효율적이다고 느꼈다.
정보 감사합니다.