๋ชฉ๋ก๐Ÿ“ฑ๐ŸŽ iOS/๐Ÿ Apple Developer Documentation (19)

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

[Apple Developer Docs] Choosing Between Structures and Classes (๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค ์‚ฌ์ด์—์„œ ์„ ํƒํ•˜๊ธฐ)

์›๋ณธ ๋ฌธ์„œ : Apple Developer Documentation ๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค ์‚ฌ์ด์—์„œ ์„ ํƒํ•˜๊ธฐ ๋ฐ์ดํ„ฐ์™€ ๋ชจ๋ธ ํ–‰๋™์„ ์–ด๋–ป๊ฒŒ ์ €์žฅํ• ์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ์š” ๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค๋Š” ๋‹น์‹ ์˜ ์•ฑ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ, ๊ทธ๋ฆฌ๊ณ  ํ–‰๋™๋“ค์„ ๋ชจ๋ธ๋งํ•˜๊ธฐ ์œ„ํ•œ ์ข‹์€ ์„ ํƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋“ค์˜ ์œ ์‚ฌ์„ฑ์ด ๋‘˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์„ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์˜ ์•ฑ์— ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ถ”๊ฐ€ํ•  ๋•Œ, ์–ด๋–ค ์„ ํƒ์ด ํ•ฉ๋ฆฌ์ ์ธ์ง€ ์„ ํƒํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” ์•„๋ž˜์˜ ๊ถŒ์žฅ์‚ฌํ•ญ์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด ๋ณด์‹ญ์‹œ์˜ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Objective-C ์ƒํ˜ธ์šด์šฉ์„ฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๋ชจ๋ธ๋งํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ๋™์ผ์„ฑ์„ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋ฉด, ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ตฌํ˜„์‚ฌํ•ญ๋“ค์„ ๊ณต์œ ํ•จ์œผ๋กœ์„œ ํ–‰๋™์„ ์ฑ„ํƒํ•˜๊ธฐ ์œ„..

[Swift] Array ๋ฐฐ์—ด : ๋’ค์ง‘๊ธฐ - reversed() / ์ž๋ฆฌ๋ฐ”๊พธ๊ธฐ swapAt(_:_:)

Apple Developer Documentation reversed() ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ทฐ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. func reversed() -> ReversedCollection ๋ฐฐ์—ด์˜ ์ˆœ์„œ๋ฅผ ๋’ค์ง‘์„ ๋•Œ ์œ ์šฉํ•˜๋‹ค String ๋ฌธ์ž์—ด๋„ ๋ฐฐ์—ด์ด๋ฏ€๋กœ ๋’ค์ง‘์„ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋งŒ ๋ฆฌํ„ดํƒ€์ž…์ด ๋ฐฐ์—ด์ด ์•„๋‹Œ ReversedCollection์ด๋ฏ€๋กœ, ํ•„์š”ํ•˜๋‹ค๋ฉด Array๋‚˜ String์œผ๋กœ ํ˜•๋ณ€ํ™˜ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์›๋ž˜ ํƒ€์ž…์œผ๋กœ ํ˜•๋ณ€ํ™˜ํ•˜๋ ค๋ฉด, ์ปฌ๋ ‰์…˜์˜ sequence-based ๋˜๋Š” collection-based ์ด๋‹ˆ์…œ๋ผ์ด์ €๋ฅผ ์“ธ ์ˆ˜ ์žˆ์–ด์•ผ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ReversedCollection์€ ์ปฌ๋ ‰์…˜์„ ๋ž˜ํ•‘ํ•˜๊ณ , ์š”์†Œ์— ์—ญ์ˆœ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค€๋‹ค. let word = "Backwards" for char i..

[Swift] type(of:)

Apple Developer Documentation type(of:) ๊ฐ’์˜ ๋‹ค์ด๋‚˜๋ฏน ํƒ€์ž…์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์„ ์–ธ func type(of value: T) -> Metatype ๋ฐ˜ํ™˜๊ฐ’ ๋™์  ํƒ€์ž… (= ๋ฉ”ํƒ€ํƒ€์ž…metatype ์ธ์Šคํ„ด์Šค) ํŒŒ๋ผ๋ฏธํ„ฐ value: ๋™์  ํƒ€์ž…์„ ์ฐพ์œผ๋ ค ํ•˜๋Š” ๊ฐ’ ์„ค๋ช… ์ด type(of:) ํ•จ์ˆ˜๋Š” ๊ฐ’์˜ ๋™์  ํƒ€์ž…์„ ์ฐพ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋™์  ํƒ€์ž…์ด ์ •์  ํƒ€์ž…๊ณผ ๋‹ค๋ฅผ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ’์˜ ์ •์  ํƒ€์ž…(static type) ์€ ๊ฐ’์˜ ๋ช…์‹œ๋œ, ์ปดํŒŒ์ผ ์‹œ์ ์˜ ํƒ€์ž…์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’์˜ ๋™์  ํƒ€์ž…(dynamic) ์€ ์‹คํ–‰ ์‹œ์ ์˜ ๊ฐ’์˜ ์‹ค์ œ ํƒ€์ž…์„ ๋งํ•˜๋ฉฐ, ๊ฐ’์˜ ๊ตฌ์ฒด ํƒ€์ž…์˜ ํ•˜์œ„ ํƒ€์ž…์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ์—์„œ, count ๋ณ€์ˆ˜๋Š” Int๋ผ๋Š” ๋™์ผํ•œ ์ •์  ํƒ€์ž…๊ณผ ๋™์  ํƒ€์ž…..