๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (454)

Bibi's DevLog ๐Ÿค“๐ŸŽ

Dictionary - subscript(_: default:)

subscript(_: default:) (Dictionary) https://developer.apple.com/documentation/swift/dictionary/subscript(_:default:) ๋”•์…”๋„ˆ๋ฆฌ์—์„œ ์ฃผ์–ด์ง„ ํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๊ณ , ๋งŒ์•ฝ ํ•ด๋‹นํ•˜๋Š” ํ‚ค๊ฐ€ ์—†์œผ๋ฉด default๋กœ ์ง€์ •๋œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. key : ๋”•์…”๋„ˆ๋ฆฌ์—์„œ ์ฐพ์„ ํ‚ค key๊ฐ€ Hashable ์„ ์ค€์ˆ˜ํ•ด์•ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•จ defaultValue : ๋”•์…”๋„ˆ๋ฆฌ์— ํ•ด๋‹น ํ‚ค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ๋•Œ ์‚ฌ์šฉํ•  ๊ธฐ๋ณธ๊ฐ’ ๋”•์…”๋„ˆ๋ฆฌ์— ํŠน์ • ํ‚ค๊ฐ€ ์กด์žฌํ•  ๋•Œ๋Š” ๊ทธ ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๊ณ , ์กด์žฌํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” default value๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ. ์•„๋ž˜ ์˜ˆ์‹œ๋Š” HTTP ์‘๋‹ต ์ฝ”๋“œ๊ฐ€ ์ธ์‹๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ๋ฉ”์‹œ์ง€๋กœ ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค: var..

[Swift] ์ธ์Šคํ„ด์Šค ๋น„๊ต ๋ฐฉ๋ฒ• - is, ๋ฉ”ํƒ€ ํƒ€์ž…

[Swift] ์ธ์Šคํ„ด์Šค ๋น„๊ต ๋ฐฉ๋ฒ• - is, ๋ฉ”ํƒ€ ํƒ€์ž… is is : ํƒ€์ž… ํ™•์ธ ์—ฐ์‚ฐ์ž. ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋–ค ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์ธ์ง€ (๋˜๋Š” ์–ด๋–ค ํด๋ž˜์Šค์˜ ์ž์‹ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์ธ์ง€) ํƒ€์ž…์„ ํ™•์ธํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹น ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฑฐ๋‚˜ ๊ทธ ์ž์‹ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ผ๋ฉด true ๋ฐ˜ํ™˜ ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด false ๋ฐ˜ํ™˜ print(latte is Coffee) // true print(latte is Americano) // false ๋ฉ”ํƒ€ ํƒ€์ž… Meta Type ๋ฉ”ํƒ€ ํƒ€์ž… : ํƒ€์ž…์˜ ํƒ€์ž…. ํƒ€์ž… ์ž์ฒด๋ฅผ ํ•˜๋‚˜์˜ ํƒ€์ž…์œผ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ .Type : ํƒ€์ž… ๋’ค์— ๋ถ™์—ฌ ๊ทธ ํƒ€์ž…์˜ ๋ฉ”ํƒ€ ํƒ€์ž… ๋‚˜ํƒ€๋ƒ… .Protocol : ํ”„๋กœํ† ์ฝœ ๋’ค์— ๋ถ™์—ฌ ๊ทธ ํ”„๋กœํ† ์ฝœ ํƒ€์ž…์˜ ๋ฉ”ํƒ€ ํƒ€์ž…์„ ๋‚˜ํƒ€๋ƒ„ .self : ํƒ€์ž…์„ ๊ฐ’์ฒ˜๋Ÿผ ํ‘œํ˜„ ๊ฐ€๋Šฅ let intTy..

[Swift] ํ”„๋กœํ† ์ฝœ Protocol

[Swift] ํ”„๋กœํ† ์ฝœ Protocol Swift ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 377์ชฝ ~ ํ”„๋กœํ† ์ฝœ : ํŠน์ • ์—ญํ• (๊ธฐ๋Šฅ)์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์„œ๋“œ, ํ”„๋กœํผํ‹ฐ, ๊ธฐํƒ€ ์š”๊ตฌ์‚ฌํ•ญ์˜ ์ฒญ์‚ฌ์ง„์„ ์ •์˜ํ•œ ๊ฒƒ ํ”„๋กœํ† ์ฝœ์€ ๊ธฐ๋Šฅ์„ ์ •์˜ํ•˜๊ณ  ์ œ์‹œํ•  ๋ฟ, ์Šค์Šค๋กœ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ๊ตฌ์กฐ์ฒด/ํด๋ž˜์Šค/์—ด๊ฑฐํ˜•์€ ํŠน์ • ํ”„๋กœํ† ์ฝœ์„ ์ฑ„ํƒ(adopted)ํ•ด์„œ ๊ทธ ์—ญํ• ์„ ์œ„ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ตฌํ˜„ํ•œ๋‹ค. ์–ด๋–ค ํƒ€์ž…์ด ์–ด๋–ค ํ”„๋กœํ† ์ฝœ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋”ฐ๋ฅด๋ฉด, 'ํ•ด๋‹น ํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•œ๋‹ค(conform)'๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค. ์Šค์œ„ํ”„ํŠธ์—์„œ ํ”„๋กœํ† ์ฝœ์€ ์™„์ „ํ•œ ํ•˜๋‚˜์˜ ํƒ€์ž…์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๋‚˜ ๋ฆฌํ„ดํƒ€์ž…์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ”„๋กœํผํ‹ฐ, ๋ณ€์ˆ˜, ์ƒ์ˆ˜์˜ ํƒ€์ž…์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ฐฐ์—ด ๋“ฑ ์ปจํ…Œ์ด๋„ˆ ์š”์†Œ์˜ ํƒ€์ž…์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ”„๋กœํ† ์ฝœ ๋งŒ๋“ค๊ธฐ : protocol ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์„ ์–ธ..

[Foundation] UserDefaults

UserDefaults ๊ณต์‹ ๋ฌธ์„œ https://developer.apple.com/documentation/foundation/userdefaults/ : ์•ฑ ์‹คํ–‰ ๋™์•ˆ ์ง€์†์ ์œผ๋กœ ํ‚ค-๊ฐ’ ์Œ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค. class UserDefaults : NSObject UserDefaults๋Š” ๊ธฐ๋ณธ ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์‹œ์Šคํ…œ์€ ์•ฑ์ด ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ๋™์ž‘์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆํ•˜๋„๋ก ํ•ด ์ค๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹น์‹ ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๊ทธ๋“ค์ด ์„ ํ˜ธํ•˜๋Š” ์ธก์ • ๋‹จ์œ„๋‚˜ ๋ฏธ๋””์–ด ์žฌ์ƒ ์†๋„๋ฅผ ๊ตฌ์ฒดํ™”ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฑ์€ ์‚ฌ์šฉ์ž์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์žˆ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ง‘ํ•ฉ์— ๊ฐ’๋“ค์„ ํ• ๋‹นํ•จ์œผ๋กœ์จ ์ด๋Ÿฌํ•œ ์„ ํ˜ธ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์€ ๊ธฐ๋ณธ..

OAuth Github ๋กœ๊ทธ์ธ

OAuth Github ๋กœ๊ทธ์ธ OAuth๋ž€ https://www.youtube.com/watch?v=hm2r6LtUbk8 OAuth์˜ ์„ธ ์—ญํ• ๋“ค ๋‚ด ์„œ๋น„์Šค ์‚ฌ์šฉ์ž ์œ ๋ช… ์„œ๋น„์Šค (๊ตฌ๊ธ€, ๋„ค์ด๋ฒ„ ๋“ฑ) OAuth์˜ ์ธ์ฆ ์ ˆ์ฐจ ์œ ๋ช… ์„œ๋น„์Šค๊ฐ€ Access Token์„ ๋ฐœ๊ธ‰ํ•œ๋‹ค AccessToken์ด๋ž€? ์œ ๋ช… ์„œ๋น„์Šค๊ฐ€ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ •๋ณด์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด, ์‚ฌ์šฉ์ž์˜ ์•„์ด๋”” ๋น„๋ฐ€๋ฒˆํ˜ธ ๋Œ€์‹  ์‚ฌ์šฉํ•˜๋Š” ํ† ํฐ ์œ ๋ช… ์„œ๋น„์Šค๊ฐ€ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž ์ •๋ณด๋“ค ์ค‘์—์„œ ๋‚ด ์„œ๋น„์Šค๊ฐ€ ๊ผญ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ ๋ถ€๋ถ„์ ์œผ๋กœ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•œ๋‹ค. ๋‚ด ์„œ๋น„์Šค๋Š” OAuth๋ฅผ ํ†ตํ•ด AccessToken์„ ๊ฐ€์ ธ์˜จ๋‹ค ๋‚ด ์„œ๋น„์Šค๋Š” AccessToken์„ ํ†ตํ•ด ์œ ๋ช… ์„œ๋น„์Šค๊ฐ€ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž ์ •๋ณด์— ์ ‘๊ทผํ•˜๊ณ , ๊ฐ€์ ธ์˜ค๊ณ , ์ˆ˜์ •ํ•œ๋‹ค. GitHub OAuth - Authorizing OAu..