๋ชฉ๋ก๐ฑ๐ iOS/๐ Apple Developer Documentation (19)
Bibi's DevLog ๐ค๐
[UIKit] UINavigationController Apple Developer Documentation UINavigtaionController ํด๋์ค ๊ณ์ธต์ ์ธ ๋ด์ฉ์ ํ์ํ๊ธฐ ์ํ ์คํ ๊ธฐ๋ฐ์ scheme์ ์ ์ํ ์ปจํ ์ด๋ ๋ทฐ ์ปจํธ๋กค๋ฌ. ์ ์ธ @MainActor class UINavigationController : UIViewController ๊ฐ์ navigation controller๋ ํ๋ ์ด์์ ์์ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ค์ ๋ด๋น๊ฒ์ด์ ์ธํฐํ์ด์ค๋ก ๊ด๋ฆฌํ๋ ์ปจํ ์ด๋ ๋ทฐ ์ปจํธ๋กค๋ฌ์ ๋๋ค. ์ด ์ ํ์ ์ธํฐํ์ด์ค์์๋, ํ ๋ฒ์ ์ค์ง ํ๋์ ์์ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ง ๋ณด์ด๊ฒ ํ ์ ์์ต๋๋ค. ๋ทฐ ์ปจํธ๋กค๋ฌ์์ ์์๋ฅผ ์ ํํ๋ฉด ์๋ก์ด ๋ทฐ ์ปจํธ๋กค๋ฌ๊ฐ ์ ๋๋ฉ์ด์ ์ ์ฌ์ฉํด ์คํฌ๋ฆฐ์ ๋ค์ด์ค๋ฉฐ(push), ์ด์ ์ ๋ทฐ ์ปจํธ๋กค..
Learn the order in which the system executes your code at app launch time. Apple Developer Documentation ์ฑ ์คํ ์ํ์ค์ ๋ํ์ฌ ์ฑ์ ์คํ ์์ ์ ์์คํ ์ด ๋น์ ์ ์ฝ๋๋ฅผ ์คํํ๋ ์์์ ๋ํด ๋ฐฐ์๋๋ค. ๊ฐ์ ์ฑ์ ์คํ์ ๋ณต์กํ ๋จ๊ณ์ ์์(์ํ์ค)๋ฅผ ํฌํจํ๋ฉฐ, ๊ทธ ๋๋ถ๋ถ์ ์์คํ ์ด ์๋์ ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์คํ ์ํ์ค ์ค์๋, UIKit์ ์ฑ์ app delegate์ ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ๋น์ ์ด ์ฌ์ฉ์ ์ํธ์์ฉ์ ์ค๋นํ๊ณ , ์ฑ์ด ์๊ตฌํ๋ ํน์ ์์ ๋ค์ ์ํํ ์ ์๋๋ก ํฉ๋๋ค. ์๋์ ๊ทธ๋ฆผ์ ์ฑ์ด ์คํ๋ ๋ ๋ถํฐ ์ํ์ค๊ฐ ์๋ฃ๋ ๋ ๊น์ง, ์คํ ์ํ์ค์ ๊ฐ๋ณ์ ์ธ ๋จ๊ณ๋ฅผ ์ค๋ช ํ๊ณ ์์ต๋๋ค: ์ฌ์ฉ์ ๋๋ ์์คํ ์ด ๋น์ ์ ์ฑ์ ์ค..
subscript(_: default:) (Dictionary) https://developer.apple.com/documentation/swift/dictionary/subscript(_:default:) ๋์ ๋๋ฆฌ์์ ์ฃผ์ด์ง ํค์ ํด๋นํ๋ ๊ฐ์ ๋ฆฌํดํ๊ณ , ๋ง์ฝ ํด๋นํ๋ ํค๊ฐ ์์ผ๋ฉด default๋ก ์ง์ ๋ ๊ฐ์ ๋ฐํํ๋ค. key : ๋์ ๋๋ฆฌ์์ ์ฐพ์ ํค key๊ฐ Hashable ์ ์ค์ํด์ผ ์ฌ์ฉ ๊ฐ๋ฅํจ defaultValue : ๋์ ๋๋ฆฌ์ ํด๋น ํค๊ฐ ์กด์ฌํ์ง ์์ ๋ ์ฌ์ฉํ ๊ธฐ๋ณธ๊ฐ ๋์ ๋๋ฆฌ์ ํน์ ํค๊ฐ ์กด์ฌํ ๋๋ ๊ทธ ๊ฐ์ ๋ฆฌํดํ๊ณ , ์กด์ฌํ์ง ์์ ๋๋ default value๋ฅผ ๋ฆฌํดํ๋ ์๋ธ์คํฌ๋ฆฝํธ. ์๋ ์์๋ HTTP ์๋ต ์ฝ๋๊ฐ ์ธ์๋์ง ์๋ ๊ฒฝ์ฐ ์ฌ์ฉํ ๋ฉ์์ง๋ก ์๋ธ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ค: var..
[Swift] .zip(_:_:) : ๋ ์ํ์ค ํฉ์น๊ธฐ https://developer.apple.com/documentation/swift/zip(_:_:) ๋ ์ํ์ค๋ก๋ถํฐ ๋ง๋ ์ํ์ค ์์ ๋ง๋๋ ๋ฉ์๋ func zip( _ sequence1: Sequence1, _ sequence2: Sequence2 ) -> Zip2Sequence where Sequence1 : Sequence, Sequence2 : Sequence ๋ฆฌํด๊ฐ ํํ ์์ ์ํ์ค๋ฅผ ๋ฆฌํดํ๋ค. ๊ฐ ์์ ์ํ์ค1๊ณผ ์ํ์ค2์ ์์๋ค์ ์์ํ๋ค. ํ๋ผ๋ฏธํฐ ์ํ์ค1, 2 : ๊ฐ๊ฐ zipํ ์ฒซ ๋ฒ์งธ, ๋ ๋ฒ์จฐ ์ํ์ค ๋๋ ์ปฌ๋ ์ ์์๋ฅผ ์ง์ ์ฌ์ฉํ๋ ค๋ฉด element.0, element.1 ์ฒ๋ผ ์ฌ์ฉํ ์ ์์ง๋ง, ํํ๋ก ๊ฐ ์ํ์ค๋ฅผ ์ด๋ฆ๋ถ์ฌ์..
UserDefaults ๊ณต์ ๋ฌธ์ https://developer.apple.com/documentation/foundation/userdefaults/ : ์ฑ ์คํ ๋์ ์ง์์ ์ผ๋ก ํค-๊ฐ ์์ ์ ์ฅํ ์ ์๋ ์ฌ์ฉ์์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ธํฐํ์ด์ค. class UserDefaults : NSObject UserDefaults๋ ๊ธฐ๋ณธ ์์คํ ๊ณผ ์ํธ์์ฉํ๊ธฐ ์ํ ํ๋ก๊ทธ๋จ์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ธฐ๋ณธ ์์คํ ์ ์ฑ์ด ์ฌ์ฉ์๊ฐ ์ ํธํ๋ ๋์์ ์ปค์คํฐ๋ง์ด์ฆํ๋๋ก ํด ์ค๋๋ค. ์๋ฅผ ๋ค์ด, ๋น์ ์ ์ฌ์ฉ์๊ฐ ๊ทธ๋ค์ด ์ ํธํ๋ ์ธก์ ๋จ์๋ ๋ฏธ๋์ด ์ฌ์ ์๋๋ฅผ ๊ตฌ์ฒดํํ๋๋ก ํ ์ ์์ต๋๋ค. ์ฑ์ ์ฌ์ฉ์์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ํ๋ผ๋ฏธํฐ์ ์งํฉ์ ๊ฐ๋ค์ ํ ๋นํจ์ผ๋ก์จ ์ด๋ฌํ ์ ํธ๋ฅผ ์ ์ฅํฉ๋๋ค. ์ด ํ๋ผ๋ฏธํฐ๋ค์ ๊ธฐ๋ณธ..
Customizing the appearance of UINavigationBar UINavigationBar๋ scrollEdgeAppearance์ ํ์ฅ์ด๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๋ด๋น๊ฒ์ด์ ๋ฐ์ ํฌ๋ช ํ ๋ฐฐ๊ฒฝ์ ์ ๊ณตํ๋ค. UINavigationBarAppearance ํด๋์ค๋ UINavigation์ ์ธํ ์ค์ ํด๋์ค์ด๋ค. ๋ด๋น๊ฒ์ด์ ๋ฐ์ ์์์ด๋ ๋ด์ฉ ์์์ ๋ฐ๊พธ๊ณ ์ถ์ ๋ ์ฌ์ฉ ๊ฐ๋ฅ ๋ด์ฉ์ด ์คํฌ๋กค๋๋ ๋ทฐ์ปจํธ๋กค๋ฌ์์๋ standardAppearance์ scrollEdgeAppearance๋ฅผ UINavigationBar์ ํจ๊ป ์ ์ฉ์์ผ์ผ ํ๋ค AppDelegate์ ์๋์ ๊ฐ์ด ๋ฉ์๋์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค. AppDelegate.swift import UIKit @main class AppDelegate: ..
Asynchronously Loading Images into Table and Collection Views ์๋ฌธ ํ์ธ (์ํ ํ๋ก์ ํธ ๋ค์ด๋ก๋ ๋งํฌ ํฌํจ) https://developer.apple.com/documentation/uikit/views_and_controls/table_views/asynchronously_loading_images_into_table_and_collection_views ๊ฐ์ ์ด๋ฏธ์ง ์บ์ฑ์ ๋น์ ์ ์ฑ์ ํ ์ด๋ธ๋ทฐ์ ์ปฌ๋ ์ ๋ทฐ๊ฐ ์ธ์คํด์ค๋ฅผ ๋น ๋ฅด๊ฒ ๋ง๋ค๊ณ ์คํฌ๋กค์ ๋น ๋ฅด๊ฒ ์๋ตํ๋๋ก ๋์์ค๋๋ค. ์ํ ํ๋ก์ ํธ์ ์ฑ์ URL์ ํตํด ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ์์ฐํฉ๋๋ค. ์ด๋ฏธ์ง๋ค์ assets catalog์ ์ผ๋ถ๊ฐ ์๋, URL์ ํตํด ๋น๋๊ธฐ์ ์ผ๋ก ๊ฐ๊ฐ ๋ก๋ฉ์ ์๋ฎฌ๋ ์ด์ ํ๊ธฐ ์ํ..
Collection View(UICollectionView) ์ปฌ๋ ์ ๋ทฐ https://developer.apple.com/library/archive/documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40012334-CH1-SW1 https://www.raywenderlich.com/18895088-uicollectionview-tutorial-getting-started ์ปฌ๋ ์ ๋ทฐ๋ ์์ดํฐ์ ์ฌ์ง ์ฑ์ฒ๋ผ, ์ฌ๋ฌ ํญ๋ชฉ์ ๋์ดํ๋ ๋ ์ด์์์ด๋ค. ์ปฌ๋ ์ ๋ทฐ์ ์ค์ํ ๊ฒ์ ๋ทฐ๋ค์ ๊ฐ์ ธ์์ ๋ฐฐ์นํ๋ ๊ฒ์ผ ๋ฟ, ๊ทธ ๋ด์ฉ์ ์ค์ํ์ง ์๋ค. Understanding th..