SWIFT 34

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์•ฝ์ˆ˜์˜ ํ•ฉ

์•ฝ์ˆ˜๋Š” ์–ด๋–ค ์ˆ˜๋ฅผ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜๋Š” ์ˆ˜์ด๋‹ค. '๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜๋Š” ์ˆ˜'์— ์ง‘์ค‘ํ•˜๋‹ˆ ์‰ฝ๊ฒŒ ํ’€์–ด๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.๐Ÿ˜€ ํ’€์ด ๊ณผ์ •์€ ์ฃผ์„ ์ฒ˜๋ฆฌํ•ด ๋†“์•˜๋‹ค.

3์ฃผ์ฐจ_Swift ๋ฌธ๋ฒ•์ข…ํ•ฉ๋ฐ˜ ์‹ฌํ™”_(2์ผ์ฐจ)_ํด๋กœ์ € & ๊ณ ์ฐจํ•จ์ˆ˜

์˜ค๋Š˜์€ ์‹ฌํ™” ๊ฐ•์˜๋ฅผ ๋‹ค ๋“ค์—ˆ๋Š”๋ฐ, ์—ญ์‹œ๋‚˜ ๋ฉ˜๋ถ•..๐Ÿคฏ ํ›… ์–ด๋ ค์›Œ์ง„ ๋А๋‚Œ..? ๊ทธ๋ž˜๋„ ์–ด์ œ ์ดํ•ด ์•ˆ ๋œ ํด๋กœ์ €๊ฐ€ ์˜ค๋Š˜์€ ๊ท€์— ์ข€ ๋“ค์–ด์™€์„œ ๋‹คํ–‰์ด์—ˆ๋‹ค. ์—ญ์‹œ ๋ฌด์ง€์„ฑ์œผ๋กœ ๊ณ„์† ๋ณด๋ฉด ์ข€ ๋‚˜์•„์ง€๋Š” ๊ฒƒ ๊ฐ™์€..ใ…Žใ…Žใ…Ž ์•„๋ฌดํŠผ ์ „๋ถ€ ์ •๋ฆฌํ•˜๋ ค๋ฉด ๋„ˆ๋ฌด ๋งŽ๊ธฐ๋„ ํ•˜๊ณ , ์•„์ง ์ดํ•ด ์•ˆ ๋œ ๋ถ€๋ถ„๋“ค๋„ ์žˆ์–ด์„œ ์ด๋ฒˆ TIL ๊ฒŒ์‹œ๊ธ€์—๋Š” ํด๋กœ์ €์™€ ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค! ๋‚ด์ผ๋ถ€ํ„ฐ๋Š” ๊ฐœ์ธ๊ณผ์ œ '์•ผ๊ตฌ ๊ฒŒ์ž„ ๋งŒ๋“ค๊ธฐ' ์‹œ์ž‘ํ•ด์•ผ ํ•ด์„œ ์ •์‹ ์—†์„ ์˜ˆ์ •์ด๋‹ค..^^.. ํด๋กœ์ € (Closure) ํด๋กœ์ €๋Š” ์ด๋ฆ„์—†๋Š” ํ•จ์ˆ˜(์ต๋ช…ํ•จ์ˆ˜) ์ฆ‰, ์ฝ”๋“œ ๋ธ”๋ก์„ ๋งํ•œ๋‹ค. ๊ทธ์น˜๋งŒ, ์ง€๊ธˆ๊นŒ์ง€ ๊ณ„์† ์‚ฌ์šฉํ•ด์™”๋˜ func ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์ด๋ฆ„์„ ๋ถ™์—ฌ์ค€ ํ•จ์ˆ˜๋“ค๋„ ๋ชจ๋‘ ํด๋กœ์ €์ด๋‹ค! ์ด์ฒ˜๋Ÿผ ํด๋กœ์ €(Closure)๋Š” ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค. โ‘  Named Closure โ‘ก Unnam..

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ง์ˆ˜์™€ ํ™€์ˆ˜

์ด๋ ‡๊ฒŒ ๋ง๊ณ ๋„ ํ•œ ์ค„๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ! func soultion(_ num:Int) -> String { return num % 2 == 0 ? "Even" : "Odd" } num ์„ 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ผ๋ฉด "Even"์„ ์•„๋‹ˆ๋ผ๋ฉด "Odd"๋ฅผ ๋ฆฌํ„ด

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_๋ฐฐ์—ด์˜ ํ‰๊ท ๊ฐ’

์ด ๋ฐฐ์—ด์˜ ์š”์†Œ๋“ค์„ ๋”ํ•ด์ฃผ๋Š” ๊ณ ์ฐจํ•จ์ˆ˜ reduce๋ฅผ ์ด์šฉํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ๋” ๊ฐ„๊ฒฐํ•ด์งˆ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค! ๊ณ ์ฐจํ•จ์ˆ˜ ๋ฐฐ์šฐ๊ณ  ๋‚˜์„œ ๋ฐ‘์— ์ด์–ด์„œ ์ถ”๊ฐ€๋กœ ์ž‘์„ฑํ•ด ๋ณผ ์˜ˆ์ •์ด๋‹ค. ^0^ (+์ถ”๊ฐ€) reduce ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋‹ˆ ์ฝ”๋“œ๊ฐ€ ํ›จ์”ฌ ๊ฐ„๋‹จํ•ด์กŒ๋‹ค!! ์•„์ง ๋ฐ”๋กœ reduce๋กœ ๋งŒ๋“ค๊ธฐ์—๋Š” ์ฝ”๋“œ๊ฐ€ ๋จธ๋ฆฟ์†์— ์ž˜ ์•ˆ๋“ค์–ด์™€์„œ for๋ฌธ์œผ๋กœ ๋จผ์ € ๋งŒ๋“ค๊ณ , ๋ณด๋ฉด์„œ reduce๋ฅผ ์‚ฌ์šฉํ•ด๋ด์•ผ๊ฒ ๋‹ค!๐Ÿ˜ƒ

3์ฃผ์ฐจ_Swift ๋ฌธ๋ฒ•์ข…ํ•ฉ๋ฐ˜ ์‹ฌํ™”_(1์ผ์ฐจ)

์˜ค๋Š˜๋ถ€ํ„ฐ swift ๋ฌธ๋ฒ• ๊ธฐ์ดˆ์—์„œ ์‹ฌํ™” ๊ฐ•์˜ ์‹œ์ž‘! 1๊ฐ•๋ถ€ํ„ฐ 4๊ฐ•๊นŒ์ง€ ๋ดค๋Š”๋ฐ, ๋ฌด์Šจ ๋ง์ธ์ง€...๐Ÿคฏ ๋˜ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ณด๋Š”์ค‘์ด๋‹ค..ใ…Žใ…Ž [๋‚ด๋ฐฐ์บ ] ๊ฐ•์˜ ๋จผ์ € ๋‹ค ๋ณด๊ณ , ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์€ ์œ ํŠœ๋ธŒ ๊ฐ•์˜ ์ฐพ์•„์„œ ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋ฒˆ ์ฃผ ์‹ฌํ™” ๊ณผ์ œ๋Š” '์ˆซ์ž ์•ผ๊ตฌ ๊ฒŒ์ž„ ๋งŒ๋“ค๊ธฐ'์ธ๋ฐ, ์•„์ง ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์„œ.. ์ผ๋‹จ ์˜ค๋Š˜ ๋‚ด์ผ์€ ๊ฐ•์˜ ์—ฌ๋Ÿฌ ๋ฒˆ ๋“ค์œผ๋ฉด์„œ ๊ณต๋ถ€ํ•  ์˜ˆ์ •์ด๋‹ค. ์˜ค๋Š˜ ์ •๋ฆฌํ•  ๋‚ด์šฉ์€ 'ํ”„๋กœํผํ‹ฐ์™€ ์˜ต์ €๋ฒ„', 'ํƒ€์ž…์บ์ŠคํŒ…', '์ ‘๊ทผ์ œํ•œ์ž'์ด๋‹ค. ํ”„๋กœํผํ‹ฐ์™€ ์˜ต์ €๋ฒ„ (Property Observer) ํ”„๋กœํผํ‹ฐ ๊ฐ’์˜ ๋ณ€ํ™”๋ฅผ ๊ด€์ฐฐํ•˜๋Š” ๊ฒƒ์œผ๋กœ, "์ €์žฅ ํ”„๋กœํผํ‹ฐ"์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒˆ ๊ฐ’์˜ ์†์„ฑ์ด ํ˜„์žฌ ๊ฐ’๊ณผ ๋™์ผํ•˜๋”๋ผ๋„ ์†์„ฑ ๊ฐ’์ด ์„ค์ •๋˜๋ฉด ํ˜ธ์ถœ๋œ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ, ๊ด€์ฐฐ๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœํผํ‹ฐ์— ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธฐ๋ฉด ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ (๋ณ€๊ฒฝ์‚ฌํ•ญ..

ํ…Œ์ด๋ธ” ๋ทฐ(UITableView)_[iOS/Swift]_(2)

2024.03.02 - [Study/YouTube ๊ฐ•์˜ ๊ณต๋ถ€] - ํ…Œ์ด๋ธ” ๋ทฐ(UITableView)_[iOS/Swift]_(1) ์—ฌ๊ธฐ์„œ ๊ทธ๋Œ€๋กœ ์ง„ํ–‰! โ‘  Main.storyboard - Table view์— Table View Cell ์ถ”๊ฐ€ - ์‚ฌ์ด์ฆˆ ์กฐ๊ธˆ ๋Š˜๋ฆฌ๊ณ , ์•ˆ์— Label ์ถ”๊ฐ€ (Label → ์ค‘์•™์ •๋ ฌ, Add New Constraints์—์„œ ์ƒํ•˜์ขŒ์šฐ 0์œผ๋กœ ์…‹ํŒ…) โ‘ก ์ถ”๊ฐ€ํ•œ Table View cell ํด๋ฆญ - ์šฐ์ธก ์ฐฝ → Identifier : ์ด๋ฆ„ ('Identifier: Type1' ์œผ๋กœ ํ•˜๊ฒ ์Œ, ) โ‘ข ์•ž์„œ 1๋ฒˆ์งธ ๋ฐฉ๋ฒ•์—์„œ reuseIdentifier์„ "TableViewFirstType"์ด๋ผ๊ณ  ์ •ํ–ˆ์—ˆ๋‹ค. ์ด์ œ๋Š” ์ด ์ด๋ฆ„์ด "Type1"์ด ๋œ๋‹ค. ์ด "Type1"์„ ์ง€์ •ํ•˜๋Š” ํด๋ž˜์Šค๊ฐ€ ํ•„..

ํ…Œ์ด๋ธ” ๋ทฐ(UITableView)_[iOS/Swift]_(1)

TableView ํ…Œ์ด๋ธ” ๋ทฐ๋ฅผ ์™œ ์‚ฌ์šฉํ• ๊นŒ? ์ •๊ฐˆํ•˜๊ฒŒ ๋ณด์—ฌ์ง€๊ธฐ ์œ„ํ•ด์„œ? ์ „ํ™”๋ฒˆํ˜ธ๋ถ€๋งŒ ์ƒ๊ฐํ•ด๋ด๋„ ์—ฌ๋Ÿฌ ์ •๋ณด๋“ค์„ ๋‹ด๋Š” ํ™”๋ฉด์˜ ๊ฒฝ์šฐ์—๋Š” TableView๊ฐ€ ์œ ์šฉํ•  ๊ฒƒ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ์œ ์‚ฌํ•œ UI๊ฐ€ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฐ€๋ณ€ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค. TableView๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ๊นŒ?๐Ÿค” 1. ํ…Œ์ด๋ธ”์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€. (ex) ์ „ํ™”๋ฒˆํ˜ธ๋ถ€, ์•„์ดํฐ Setting ์•ฑ , โˆ™โˆ™โˆ™ 2. ๋ฐ์ดํ„ฐ๊ฐ€ ๋ช‡ ๊ฐœ์ธ๊ฐ€? (ex) 100๊ฐœ, 1000๊ฐœ, 10000๊ฐœ, โˆ™โˆ™โˆ™ 3. ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ํ–‰์„ ํด๋ฆญํ•˜๋ฉด? - (ํ•„์ˆ˜ X) โ‘  XCode - ์•ฑ ์ƒ์„ฑ → (์ด๋ฆ„: MyTableView)์œผ๋กœ ํ•˜๊ฒ ์Œ. โ‘ก ์Šคํ† ๋ฆฌ๋ณด๋“œ์—์„œ Show Library - Table View ์ถ”๊ฐ€ - ํ•˜๋‹จ์—..

Swift - Array

Array '๋ฌด์–ธ๊ฐ€๋ฅผ ๋‹ด๋Š” ํ†ต'์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. array๋Š” ์ˆœ์„œ์— ๋”ฐ๋ผ์„œ ํ†ต์— ๋‹ด์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค. ์ด ํ†ต์— ๋‹ด๋Š” ๋ณ€์ˆ˜๋“ค์€ 'element'๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. array๋Š” ๋‘ ๊ฐ€์ง€ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค. โ‘  ํ†ต์— ๋‹ด์„ ๋•Œ๋Š” ๊ฐ™์€ ํƒ€์ž…์„ ๋‹ด์•„์•ผ ํ•œ๋‹ค. (ex. Int๋ผ๋ฆฌ, String๋ผ๋ฆฌ ...) โ‘ก ์ˆœ์„œ๊ฐ€ ์กด์žฌํ•œ๋‹ค. array ์† element๋“ค์˜ ์ˆœ๋ฒˆ์ด ์กด์žฌํ•œ๋‹ค. ์ด ์ˆœ๋ฒˆ์„ Index๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. (Index๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. ๋งˆ์ง€๋ง‰ Index๋Š” (์ „์ฒด ๊ฐฏ์ˆ˜ - 1)๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ.) Q. array๋Š” ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์œ ์šฉํ• ๊นŒ? ๐Ÿค” โ‘  ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” item โ‘ก item์˜ ์ˆœ์„œ๋ฅผ ์•Œ๋ฉด ์œ ์šฉํ•  ๋•Œ ๊ทธ๋Ÿผ ์ด์ œ๋ถ€ํ„ฐ array๋ฅผ ์–ด๋–ป๊ฒŒ swift๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์‚ฌ์šฉํ• ์ง€ ์•Œ์•„๋ณด์ž!! :-) < array ๋งŒ๋“ค๊ธฐ, ์š”..