[iOS/Swift] protocol ์•Œ์•„๋ณด๊ธฐ - (1/3)

์•ˆ๋…•ํ•˜์„ธ์š”? ๋„ˆ๊ตฌ๋ฆฌ์ž…๋‹ˆ๋‹คใ…Žใ…Ž swift๋Š” ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ์–ธ์–ด(Protocol-Oriented Programming)์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹คใ…Žใ…Ž ๋‚ด์šฉ์ด ๋ฐฉ๋Œ€ํ•ด์„œ ๊ธธ์–ด์งˆ๊ฒƒ ๊ฐ™์€๋ฐ ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”!! ํ”„๋กœํ† ์ฝœ์ด๋ž€? protocol...? protocol์˜ ์‚ฌ์ „์  ์ •์˜๋Š” "๊ทœ์•ฝ"์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ swift์—์„œ๋„ protocol์€ ์–ด๋–ค๊ฒƒ์— ๋Œ€ํ•œ ์•ฝ์†์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๊ฒ ๋„ค์š”! ๊ทธ๋Ÿผ ์Šค์œ„ํ”„ํŠธ ๊ณต์‹๋ฌธ์„œ์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ์„ค๋ช…๋˜์–ด ์žˆ์„๊นŒ์š”? ํ”„๋กœํ† ์ฝœ(protocol)์€ ๋ฉ”์„œ๋“œ, ํ”„๋กœํผํ‹ฐ, ๊ทธ๋ฆฌ๊ณ  ํŠน์ • ์ž‘์—…์ด๋‚˜ ๊ธฐ๋Šฅ์˜ ๋ถ€๋ถ„์ด ์ ํ•ฉํ•œ ๋‹ค๋ฅธ ์š”๊ตฌ ์‚ฌํ•ญ์˜ ์ฒญ์‚ฌ์ง„์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœํ† ์ฝœ์€ ์š”๊ตฌ์‚ฌํ•ญ์˜ ๊ตฌํ˜„์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ๋˜๋Š” ์—ด๊ฑฐํ˜•์— ์˜ํ•ด ์ฑ„ํƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœํ† ์ฝœ์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ์ถฉ์กฑํ•˜๋Š” ..

iOS/Swift 2022. 6. 6. 18:42
[iOS/Swift] ํ”„๋กœํผํ‹ฐ(Properties) ์•Œ์•„๋ณด๊ธฐ(์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ) - (2/3)

์•ˆ๋…•ํ•˜์„ธ์š”? ๋„ˆ๊ตฌ๋ฆฌ์ž…๋‹ˆ๋‹ค~~ ์ €๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ €์žฅ ํ”„๋กœํผํ‹ฐ(Stored Properties)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋Š”๋ฐ์š”. ํ˜น์‹œ ๋ชจ๋ฅด์‹œ๋Š” ๋ถ„์ด ์žˆ๋‹ค๋ฉด ์ด์ „ ํฌ์ŠคํŒ…์„ ๋ณด๊ณ  ์™€์ฃผ์„ธ์š”!! ์˜ค๋Š˜์€ ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ(Computed Properties)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ(Computed Properties) ์—ฌ๋Ÿฌ๋ถ„ ์ฝ”๋”ฉํ•˜์‹œ๋‹ค๊ฐ€ ์–ด๋–ค ์ฝ”๋“œ ๋ธ”๋Ÿญ์•ˆ์— get, set ์ด๋ ‡๊ฒŒ ๋ถ™์–ด ์žˆ๋Š”๊ฒƒ์„ ๋ณด์…จ์„ํ…๋ฐ์š”?(์•„๋งˆ...ใ…Ž) ๊ทธ๋Ÿฐ ์• ๋“ค์ด ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ์—์š”!! ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ์— ๋Œ€ํ•ด ์ •๋ณด๋ฅผ ์ฐพ์•„๋ณด๋ฉด 1. ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐํ˜•์—์„œ ์‚ฌ์šฉํ•œ๋‹ค. 2. ์—ฐ์‚ฐ๋งŒ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ €์žฅ๊ณต๊ฐ„ ์—†๋‹ค. 3. ์‹ค์ œ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ํ”„๋กœํผํ‹ฐ๋ฅผ ์ด์šฉํ•ด์„œ ์—ฐ์‚ฐ์„ ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํ”„๋กœํผํ‹ฐ์— ๊ฐ’์„ ์ „๋‹ฌํ•œ๋‹ค. 4. ์—ฐ์‚ฐ์œผ๋กœ ์ธํ•ด ๊ฐ’์ด ๋ฐ”๋€Œ๊ฒŒ ๋˜๋ฏ€๋กœ var..

iOS/Swift 2022. 6. 1. 10:30
[iOS/Swift] Collection Type - Set(์ง‘ํ•ฉ)

Set(์ง‘ํ•ฉ) ์˜ค๋Š˜์€ ์ €๋ฒˆ ์‹œ๊ฐ„์— ์ด์–ด Set(์ง‘ํ•ฉ)์— ๋Œ€ํ•ด ํ•œ๋ฒˆ ์•Œ์•„๋ณผ๊ฒŒ์š”! ์ง‘ํ•ฉ์ด๋ผ... ์ง‘ํ•ฉ๋งŽ์ด ๋“ค์–ด๋ณด์…จ์ฃ ? ํ•™๊ต๋‹ค๋‹ ๋•Œ ์ˆ˜ํ•™ ์ˆ˜์—…์—์„œ ๋ฐฐ์šด ์ง‘ํ•ฉ์ด์š”! ์˜ˆ๋ฅผ ๋“ค๋ฉด ์ง‘ํ•ฉ์ด ์žˆ๋Š”๋ฐ, ์ฐจ์ง‘ํ•ฉ ๊ตฌํ•˜๊ณ , ๊ต์ง‘ํ•ฉ ๊ตฌํ•˜๊ณ .. ์ด๋Ÿฐ๊ฒƒ๋“ค! swift์—์„œ๋„ ์ง‘ํ•ฉ์„ ํ†ตํ•ด ์ฐจ์ง‘ํ•ฉ, ๊ต์ง‘ํ•ฉ ๋“ฑ๋“ฑ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์•Œ์•„๋ณผ๊นŒ์š”? ๋ฐ”๋กœ ๊ณต์‹๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ์•Œ์•„๋ณด์ฃ ! An unordered collection of unique elements. ์ˆœ์„œ๊ฐ€ ์—†๊ณ  ์œ ๋‹ˆํฌํ•œ ์›์†Œ๋ฅผ ๊ฐ€์ง„๋‹ค! ์œ ๋‹ˆํฌํ•˜๋‹ค๋ฉด.. ์ค‘๋ณต๋˜๋Š” ์›์†Œ๊ฐ€ ์—†๋‚˜ ๋ณด๋„ค์š”! ๋„ค ๋งž์Šต๋‹ˆ๋‹ค. ์ง‘ํ•ฉ์—์„œ๋Š” ์ค‘๋ณต๋˜๋Š” ์›์†Œ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์•„์š”. ์ €๋ฒˆ์— ๋ฐฐ์› ๋˜ ๋ฐฐ์—ด์ด๋ž‘์€ ๋‹ค๋ฅด์ฃ ? ๋˜.. ๋ฌธ์„œ๋ฅผ ๊ณ„์† ์‚ดํŽด๋ณด๋ฉด Hashable ์ด๋ผ๋Š” protocol์„ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค๊ณ  ๋‚˜์˜ค๋„ค์š”! ์ด๊ฒƒ์— ๋Œ€..

iOS/Swift 2022. 5. 24. 00:01
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ