profile
๐ŸŽ ๋ฌด๋Ÿญ๋ฌด๋Ÿญ
ํƒœ๊ทธ ๋ชฉ๋ก
์ „์ฒด๋ณด๊ธฐ (51)iOS(36)swift(16)UIkit(12)HIG(4)API Design Guidelines(4)json(3)UICollectionView(3)UITableView(3)Codable(3)concurrency(3)UICollectionViewFlowLayout(2)UICollectionViewLayout(2)UI(2)protocol(2)UITableViewCell(2)PHAsset(2)Storyboard(2)PhotoKit(2)Design Pattern(2)UIScrollView(2)Segue(2)Photos(2)Cocoa Touch(1)Basic Style(1)Navigation bars(1)CoreLocation(1)reusability(1)View Life Cycle(1)UIListContentConfiguration(1)UIAlertController(1)UITextField(1)UIBarButtonItem(1)Conventions(1)Location(1)Frame Layout Guide(1)try(1)delegate pattern(1)CustomTableViewCell(1)Special Instructions(1)Auto Layout(1)UITabBarItem(1)Sync(1)Tab bars(1)throw(1)async(1)actionSheet(1)UIActivityViewController(1)KVC(1)kvo(1)ps(1)layout(1)error(1)Readability(1)URLSession(1)Delegate Methods(1)Content hugging priority(1)Key-Value Coding(1).xcconfig(1)Grand Central Dispatch(1)Foundation(1)UICollectionViewCell(1)UINavigationController(1)URLSessionTask(1)key value observing(1)Gesture Recognizer(1)Text Input Traits(1)alert(1)cs50(1)NAMING(1)Pop(1)David J. Malan(1)GCD(1)UIViewController(1)@autoclosure(1)api key(1)KeyPath(1)do-catch(1)notification(1)Stack View(1)@escaping(1)fundamentals(1)UITabBar(1)Notification Center(1)Parallelism(1)accessibility(1)PROGRAMERS(1)protocol oriented programming(1)serial(1)Singleton(1)closure(1)Decodable(1)Extention(1)capture(1)Parallel(1)UINavigationItem(1)UIActivity(1)Encodable(1)Content Layout Guide(1)compression resistance priority(1)dispatch queue(1)asynchronous(1)URL Loding System(1)concurrent(1)

[HIG] Navigation bars

์˜ค๋Š˜์€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

2023๋…„ 11์›” 14์ผ
ยท
1๊ฐœ์˜ ๋Œ“๊ธ€
ยท

closure ๋‹ค์‹œ๋ณด๊ธฐ-2

์˜คํ† ํด๋กœ์ €๋Š” ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜๋Š” ํ‘œํ˜„์‹์„ ์ž๋™์œผ๋กœ ๋ž˜ํ•‘ํ•˜๋Š” ํด๋กœ์ €๋‹ค.

2023๋…„ 11์›” 13์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Closures ๋‹ค์‹œ๋ณด๊ธฐ-1

ํด๋กœ์ €๋Š” ์ฝ”๋“œ์—์„œ ์ „๋‹ฌํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ๋œ ๊ธฐ๋Šฅ ๋ธ”๋ก์ด๋‹ค. ํ•จ์ˆ˜์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„๋‹ค.

2023๋…„ 11์›” 10์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[HIG] Tab bars

ํƒญ ๋ฐ”๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์„น์…˜ ๊ฐ„ ์ „ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์š”์†Œ์ด๋‹ค.

2023๋…„ 11์›” 9์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

API ํ‚ค ์•ˆ์ „ํ•˜๊ฒŒ ๋ณด๊ด€ํ•˜๊ธฐ

API๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” ์„œ๋น„์Šค์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , ์™ธ๋ถ€ ์„œ๋น„์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ž˜ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € API ํ‚ค์˜ ๋ณด์•ˆ ๋ฌธ์ œ์™€ ์ค‘์š”์„ฑ์„ ์•Œ์•„์•ผ ํ•œ๋‹ค.

2023๋…„ 11์›” 7์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

CoreLocation์œผ๋กœ ์‚ฌ์šฉ์ž ์œ„์น˜ ๋ฐ์ดํ„ฐ ์ ‘๊ทผํ•˜๊ธฐ

๋Œ€ํ‘œ์ ์œผ๋กœ ์ง€๋„์•ฑ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ์ž์˜ ์œ„์น˜๋ฅผ ์ด์šฉํ•œ ์•ฑ๋“ค์ด ๋งŽ๋‹ค. ์‚ฌ์šฉ์ž ์œ„์น˜๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด CoreLocation์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

2023๋…„ 10์›” 27์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[HIG] Layout

์‚ฌ์šฉ์ž์˜ ๊ฒฝํ—˜์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ณ  ๋ชจ๋“  ๊ธฐ๊ธฐ์—์„œ ์ข‹์•„ํ•˜๋Š” ์•ฑ๊ณผ ๊ฒŒ์ž„์„ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ ˆ์ด์•„์›ƒ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

2023๋…„ 10์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[HIG] Accessibility

์•„์ดํฐ์˜ ์•ฑ ์„ค์ •์— ๋“ค์–ด๊ฐ€๋ฉด ์ ‘๊ทผ์„ฑ ์„ค์ •์ด ์žˆ๊ณ , ์ƒ๊ฐ๋ณด๋‹ค ๊ต‰์žฅํžˆ ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ์ด ๊ธฐ๋Šฅ๋“ค์€ ๊ธฐ๊ธฐ์‚ฌ์šฉ์ด ๋ถˆํŽธํ•œ ์‚ฌ๋žŒ, ์ค‘์ฆ ์žฅ์• ๋ถ€ํ„ฐ ์•„์ฃผ ์‚ฌ์†Œํ•œ ๋ถˆํŽธํ•จ๊นŒ์ง€ ์ปค๋ฒ„ํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ๋“ค์ด ๋งŽ์ด ์ œ๊ณต๋œ๋‹ค. ์ด ์ ‘๊ทผ์„ฑ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

2023๋…„ 10์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Swift API Design Guidelines - Special Instructions

์ด๋ฒˆ์—๋Š” Swift์˜ ๊ณต์‹ API Design Guide์˜ Special InstructionsํŒŒํŠธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

2023๋…„ 10์›” 16์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Swift API Design Guidelines - Conventions

์ด๋ฒˆ์—๋Š” Swift์˜ ๊ณต์‹ API Design Guide์˜ Convention ํŒŒํŠธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

2023๋…„ 10์›” 16์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Swift API Design Guidelines - Naming

Swift์—์„œ๋Š” ์ด๋ฆ„์ด ์ •๋ง ์ค‘์š”ํ•˜๋‹ค ์ด๋ฒˆ์—๋Š” Naming์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ฉด์„œ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€ ๋ณด์ˆ˜๋ฅผ ์œ„ํ•œ ์˜ฌ๋ฐ”๋ฅธ ์ด๋ฆ„์ง“๊ธฐ๋ฅผ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž

2023๋…„ 10์›” 12์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Swift API Design Guidelines - Fundamentals

iOS ๊ฐœ๋ฐœ์ž๋Š” ๊ผญ ์•Œ์•„์•ผ ํ•  ๊ธฐ๋ณธ ์›์น™๋“ค์˜ ํ•ต์‹ฌ ๊ฐ€์ด๋“œ๋ผ์ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

2023๋…„ 10์›” 12์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Notification Center๋กœ ์ด๋ฒคํŠธ ์ „๋‹ฌํ•˜๊ธฐ

NotificationCenter์™€ Notification์€ ์•ฑ ๋‚ด์˜ ๋‹ค์–‘ํ•œ ์ปดํฌ๋„ŒํŠธ ๊ฐ„ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์œ ์šฉํ•œ ๋„๊ตฌ๋‹ค. NotificationCenter๋ฅผ ํ†ตํ•ด ์ด๋ฒคํŠธ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž

2023๋…„ 10์›” 10์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

KVO ์•Œ์•„๋ณด๊ธฐ

Key-Value-Ovserving(KVO)์€ ๋‹ค๋ฅธ ๊ฐ์ฒด์˜ ์†์„ฑ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ์ฒด์— ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•œ ์ฝ”์ฝ”์•„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจํ„ด์ด๋‹ค.

2023๋…„ 10์›” 7์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

KVC์™€ KeyPath ์ดํ•ดํ•˜๊ธฐ

KVC์™€ KeyPath ๋ชจ๋‘ ๊ฐ์ฒด์˜ ์†์„ฑ์— ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ๊ธฐ๋ณธ ์›๋ฆฌ์™€ ์‚ฌ์šฉ๋ฒ•์—๋Š” ๋ช…ํ™•ํ•œ ์ฐจ์ด์ ์ด ์žˆ๋‹ค. ๊ฐ ๊ฐœ๋…์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž

2023๋…„ 10์›” 5์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

URL Loding System๊ณผ URLSession

iOS ์—์„œ ๋„คํŠธ์›Œํ‚น ์ž‘์—…์„ ํ•˜๊ธฐ ์œ„ํ•ด URLSession์„ ์‚ฌ์šฉํ•œ๋‹ค.

2023๋…„ 9์›” 27์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

UITabBar ์•Œ์•„๋ณด๊ธฐ

UITabBar๋Š” ํ•˜๋‹จ์— ์œ„์น˜ํ•˜๋ฉฐ, ์•ฑ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ๋“ค์„ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์—ฌ๋Ÿฌ ํ™”๋ฉด ๋˜๋Š” ๊ธฐ๋Šฅ ๊ฐ„์˜ ๋น ๋ฅด๊ณ  ํŽธ๋ฆฌํ•œ ์ „ํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

2023๋…„ 9์›” 25์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Alert ์•Œ์•„๋ณด๊ธฐ

Alert์™€ ActionSheet๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ค‘์š”ํ•œ ์ •๋ณด๋‚˜ ์„ ํƒ ๋ฉ”์‹œ์ง€๋ฅผ ์•ฑ์˜ ํ๋ฆ„์„ ์ค‘๋‹จ์‹œ์ผœ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œํ•œ๋‹ค.

2023๋…„ 9์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

UIActivityViewController๋กœ ์ปจํ…์ธ  ๊ณต์œ ํ•˜๊ธฐ

์ปจํ…์ธ ๋ฅผ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” UIActivityViewController๋ฅผ ์•Œ์•„๋ณด์ž.

2023๋…„ 9์›” 13์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

UICollectionViewCompositionalLayout ๋ฐฐ์šฐ๊ธฐ

UICollectionViewCompositionalLayout

2023๋…„ 9์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท