๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 93

[ iOS ] ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ (2) - ๊ธฐ๋Šฅ

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ๋™์ž‘ ํ™”๋ฉด์€ '๋ฉ”์ธํ™”๋ฉด'๊ณผ '์ˆ˜์ •ํ™”๋ฉด' ๋‘ ๊ฐœ๋กœ ๋งŒ๋“ ๋‹ค. ๋˜ํ•œ '๋ฉ”์ธํ™”๋ฉด'์—์„œ '์ˆ˜์ •ํ™”๋ฉด'์œผ๋กœ, '์ˆ˜์ •ํ™”๋ฉด'์—์„œ '๋ฉ”์ธํ™”๋ฉด'์œผ๋กœ ๋ฉ”์‹œ์ง€(๋ฐ์ดํ„ฐ)๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  ์ด๋ฏธ์ง€์˜ ํ™•๋Œ€ ์—ฌ๋ถ€๋ฅผ '์ˆ˜์ •ํ™”๋ฉด'์—์„œ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ๊ตฌํ˜„ ์ˆœ์„œ ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€ '๋ฉ”์ธํ™”๋ฉด' ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ '์ˆ˜์ •ํ™”๋ฉด' ์ถ”๊ฐ€ ๋ฐ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ๋ทฐ ์ „ํ™˜๊ณผ ํ•จ๊ป˜ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌํ•˜๊ธฐ '์ˆ˜์ •ํ™”๋ฉด'์—์„œ '๋ฉ”์ธํ™”๋ฉด'์˜ ์ด๋ฏธ์ง€ ์ œ์–ดํ•˜๊ธฐ ์ตœ์ข… ๊ฒฐ๊ณผ 4. ๋ทฐ ์ „ํ™˜๊ณผ ํ•จ๊ป˜ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌํ•˜๊ธฐ 4.1. ์•„์šธ๋ › ๋ณ€์ˆ˜์™€ ์•ก์…˜ ํ•จ์ˆ˜ ์ถ”๊ฐ€ํ•˜๊ธฐ '๋ฉ”์ธํ™”๋ฉด' @IBOutlet var txMessage: UITextField! @IBOutlet var imgView: UIImageView! Text Field์— ์ ํžŒ ๋ฉ”์‹œ..

iOS 2021.08.30

[ iOS ] ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ (1) - ๋ ˆ์ด์•„์›ƒ

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ๋™์ž‘ ํ™”๋ฉด์€ '๋ฉ”์ธํ™”๋ฉด'๊ณผ '์ˆ˜์ •ํ™”๋ฉด' ๋‘ ๊ฐœ๋กœ ๋งŒ๋“ ๋‹ค. ๋˜ํ•œ '๋ฉ”์ธํ™”๋ฉด'์—์„œ '์ˆ˜์ •ํ™”๋ฉด'์œผ๋กœ, '์ˆ˜์ •ํ™”๋ฉด'์—์„œ '๋ฉ”์ธํ™”๋ฉด'์œผ๋กœ ๋ฉ”์‹œ์ง€(๋ฐ์ดํ„ฐ)๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  ์ด๋ฏธ์ง€์˜ ํ™•๋Œ€/์ถ•์†Œ ์ƒํƒœ๋ฅผ '์ˆ˜์ •ํ™”๋ฉด'์—์„œ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ๊ตฌํ˜„ ์ˆœ์„œ ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€ '๋ฉ”์ธํ™”๋ฉด' ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ '์ˆ˜์ •ํ™”๋ฉด' ์ถ”๊ฐ€ ๋ฐ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ๋ฐ” ๋ฒ„ํŠผ์œผ๋กœ ํ™”๋ฉด ์ „ํ™˜๋˜๋„๋ก ๊ตฌํ˜„ ๋ทฐ ์ „ํ™˜๊ณผ ํ•จ๊ป˜ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌํ•˜๊ธฐ '์ˆ˜์ •ํ™”๋ฉด'์—์„œ '๋ฉ”์ธํ™”๋ฉด'์˜ ์ด๋ฏธ์ง€ ์ œ์–ดํ•˜๊ธฐ ์ตœ์ข… ๊ฒฐ๊ณผ 1. ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€ ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ถ”๊ฐ€ํ•  ๋ทฐ ํด๋ฆญ ํ›„ [Editor/Embed in/Navigation Controller]๋ฅผ ์„ ํƒํ•˜์—ฌ ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. 2. '๋ฉ”์ธํ™”๋ฉด' ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ..

iOS 2021.08.29

[ Swift ] ํ๋ฆ„ ์ œ์–ด(2) - ๋ฐ˜๋ณต๋ฌธ ( for-in ๊ตฌ๋ฌธ, while ๊ตฌ๋ฌธ )

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ํ๋ฆ„์ œ์–ด(2) - ๋ฐ˜๋ณต๋ฌธ for-in ๊ตฌ๋ฌธ while ๊ตฌ๋ฌธ repeat-while ๊ตฌ๋ฌธ ๊ตฌ๋ฌธ ์ด๋ฆ„ํ‘œ 1. for-in ๊ตฌ๋ฌธ ํŠน์ • ๊ตฌ๋ฌธ์„ ํŠน์ • ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ฆ‰, ๋ฐ˜๋ณตํšŸ์ˆ˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. continue, break ๋“ฑ์˜ ์ œ์–ด ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. for-in ๊ตฌ๋ฌธ์€ ์Šค์œ„ํ”„ํŠธ์˜ ๊ธฐ๋ณธ Collection Type์ธ ๋ฐฐ์—ด, ๋”•์…”๋„ˆ๋ฆฌ, ์„ธํŠธ์—์„œ๋„ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. ์—ฌ๊ธฐ์„œ ๋”•์…”๋„ˆ๋ฆฌ๋Š” ํ‚ค์™€ ๊ฐ’์˜ ์Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹œํ€€์Šค ์•„์ดํ…œ์—์„œ ์ž„์‹œ ์ƒ์ˆ˜๋กœ ์š”์†Œ๊ฐ€ ๋„˜์–ด๊ฐˆ ๋•Œ ํŠœํ”Œ๋กœ ์ „๋‹ฌ๋œ๋‹ค. swift ๋ฌธ๋ฒ•์„ ๋” ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋ฉด for-in ๊ตฌ๋ฌธ๋ณด๋‹ค map, filter, flatMap ๋“ฑ์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค. ์‹œํ€€์Šค ์•„์ดํ…œ์„ ๋‹ด์„ ์ž„์‹œ ์ƒ์ˆ˜๊ฐ€ ํ•„์š”..

Swift 2021.08.27

[ iOS ] ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ทฐ ๋„ฃ๊ธฐ - ํƒญ ๋ฐ” ์ปจํŠธ๋กค๋Ÿฌ

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ํƒญ ๋ฐ” ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ด์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ทฐ๋ฅผ ๋„ฃ์–ด๋ผ. ๋ทฐ์˜ ํŠน์ง•์— ๋งž๊ฒŒ ํƒญ ๋ฐ” ์•„์ด์ฝ˜๋„ ์ˆ˜์ •ํ•˜๋ผ. ๋”ํ•˜์—ฌ ์ด๋ฏธ์ง€๋ทฐ์— ์ด๋ฏธ์ง€๋ฅผ ํ• ๋‹นํ•˜๊ณ , ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ํ•ด๋‹น ๋ทฐ๋กœ ์ „ํ™˜๋˜๋„๋ก ๊ตฌํ˜„ํ•˜๋ผ. ๊ตฌํ˜„ ์ˆœ์„œ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ํƒญ ๋ฐ” ์ปจํŠธ๋กค๋Ÿฌ ์Šคํ† ๋ฆฌ ๋ณด๋“œ์— ์ถ”๊ฐ€ ํƒญ ๋ฐ”์— ๋ทฐ ์ถ”๊ฐ€ ํƒญ ๋ฐ” ์•„์ด์ฝ˜ ์ˆ˜์ • ๋ฒ„ํŠผ์œผ๋กœ ๋ทฐ ์ „ํ™˜ ๊ตฌํ˜„ ์ตœ์ข… ๊ฒฐ๊ณผ 1. ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ (์ตœ์ข…์ ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ ˆ์ด์•„์›ƒ) ImageView์— ์‚ฌ์ง„ ํ• ๋‹นํ•˜๊ธฐ ImageView๋ฅผ ํด๋ฆญํ•œ ํ›„ ์˜ค๋ฅธ์ชฝ ์ธ์ŠคํŽ™ํ„ฐ ์˜์—ญ์—์„œ [Attributes inspector]์˜ image๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ฝ”๋“œ ์ˆ˜์ •์—†์ด ์ด๋ฏธ์ง€ ๋ทฐ์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. 2. ํƒญ ๋ฐ” ์ปจํŠธ๋กค๋Ÿฌ ์Šคํ† ๋ฆฌ ๋ณด๋“œ์— ์ถ”๊ฐ€ ํƒญ ๋ฐ” ์ปจํŠธ๋กค๋Ÿฌ Tap Bar Controller ์—ฌ๋Ÿฌ ๊ฐœ..

iOS 2021.08.26

[ iOS ] ํŽ˜์ด์ง€ ์ด๋™ํ•˜๊ธฐ - ํŽ˜์ด์ง€ ์ปจํŠธ๋กค

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ํŽ˜์ด์ง€ ์ปจํŠธ๋กค์„ ์ด์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋ผ. ์ด๋ฏธ์ง€ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๋„ ํ•จ๊ป˜ ์ถœ๋ ฅํ•˜๋ผ. ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๋Š” 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. ๊ตฌํ˜„ ์ˆœ์„œ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ์•„์šธ๋ › ๋ณ€์ˆ˜์™€ ์•ก์…˜ ํ•จ์ˆ˜ ์ƒ์„ฑ ์ด๋ฏธ์ง€ ์ถœ๋ ฅ์— ์‚ฌ์šฉํ•  ์ด๋ฏธ์ง€ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด ์ƒ์„ฑ ํŽ˜์ด์ง€ ์ปจํŠธ๋กค ์•ก์…˜ํ•จ์ˆ˜ ์ฝ”๋“œ ์ž‘์„ฑ ์ดˆ๊ธฐ ํ™”๋ฉด ์„ค์ • ์ตœ์ข… ๊ฒฐ๊ณผ 1. ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ํŽ˜์ด์ง€ ์ปจํŠธ๋กค Page Control UIPageControl: Shows progression through a list of pages. ํŽ˜์ด์ง€ ๋ฆฌ์ŠคํŠธ์˜ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋ณด์—ฌ์ค€๋‹ค. 2. ์•„์šธ๋ › ๋ณ€์ˆ˜์™€ ์•ก์…˜ ํ•จ์ˆ˜ ์ƒ์„ฑ ์•„์šธ๋ › ๋ณ€์ˆ˜ @IBOutlet var lblPageIndex: UILabel! //text ์†์„ฑ ์‚ฌ์šฉ @IBOutlet var..

iOS 2021.08.20

[ Swift ] ํ๋ฆ„ ์ œ์–ด(1) - ์กฐ๊ฑด๋ฌธ ( if ๊ตฌ๋ฌธ, switch ๊ตฌ๋ฌธ )

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ํ๋ฆ„ ์ œ์–ด(1) - ์กฐ๊ฑด๋ฌธ if ๊ตฌ๋ฌธ switch ๊ตฌ๋ฌธ 1. if ๊ตฌ๋ฌธ ์Šค์œ„ํ”„ํŠธ์˜ if ๊ตฌ๋ฌธ์€ ์กฐ๊ฑด์˜ ๊ฐ’์ด ๊ผญ Bool ํƒ€์ž…์ด์–ด์•ผ ํ•œ๋‹ค. ํ•œ ์กฐ๊ฑด๋ฌธ์„ ์ถฉ์กฑํ•ด ๋ธ”๋ก ๋‚ด๋ถ€์˜ ๋ช…๋ น๋ฌธ์ด ์‹คํ–‰๋˜๋ฉด, ์ด์–ด์ง„ else if ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋”๋ผ๋„ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ์กฐ๊ฑด๋ฌธ์„ ๋น ์ ธ๋‚˜์˜จ๋‹ค. (์†Œ๊ด„ํ˜ธ)์— ์กฐ๊ฑด์‹์„ ์ ๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ์ด์ง€๋งŒ ์†Œ๊ด„ํ˜ธ๋ฅผ ์ƒ๋žตํ•ด๋„ ๋œ๋‹ค. var num1: Int = 5 var num2: Int = 5 if num1 >= num2 { print("num1์ด num2 ์ด์ƒ์ด๋‹ค.") } else if num1 == num2 { //์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋”๋ผ๋„ ์ด๋ฏธ ์•ž์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์—ฌ ๋ธ”๋ก ๋‚ด๋ถ€ ๋ช…๋ น๋ฌธ์ด ์‹คํ–‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ฑด๋ฌธ์„ ๋น ์ ธ๋‚˜์˜จ๋‹ค. print("num1์ด num2๊ณผ ๊ฐ™๋‹ค.") } ..

Swift 2021.08.18

[ SWIFT ] ์—ฐ์‚ฐ์ž - ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž, ๋น„๊ต ์—ฐ์‚ฐ์ž, ์‚ผํ•ญ ์กฐ๊ฑด ์—ฐ์‚ฐ์ž, ๋ฒ”์œ„ ์—ฐ์‚ฐ์ž, nil ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž, ๋ถ€ํ˜ธ ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์ž

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์—ฐ์‚ฐ์ž ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž ๋น„๊ต ์—ฐ์‚ฐ์ž ์‚ผํ•ญ ์กฐ๊ฑด ์—ฐ์‚ฐ์ž ๋ฒ”์œ„ ์—ฐ์‚ฐ์ž nil ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž ๋ถ€ํ˜ธ ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์ž ๋“ค์–ด๊ฐ€๊ธฐ ์ „, ์Šค์œ„ํ”„ํŠธ๋Š” ๋„์–ด์“ฐ๊ธฐ๋„ ์ค‘์š”ํ•œ ๋ฌธ๋ฒ• ์œผ๋กœ, ์—ฐ์‚ฐ์ž๋ฅผ ๊ณต๋ถ€ํ•  ๋•Œ ๊ณต๋ฐฑ์˜ ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๋ฉฐ ๊ณต๋ถ€ํ•ด์•ผ ํ•œ๋‹ค. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž ์Šค์œ„ํ”„ํŠธ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ๊ต‰์žฅํžˆ ์—„๊ฒฉํ•˜๋ฏ€๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•๋ผ๋ฆฌ์˜ ์—ฐ์‚ฐ์„ ์—„๊ฒฉํžˆ ์ œํ•œํ•œ๋‹ค. ์—ฐ์‚ฐ์ž ์˜ˆ์‹œ + 5 + 3 = 8 - 5 - 3 = 2 * 5 * 3 = 15 / ๋ชซ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 5 / 3 = 1 % ๋‚˜๋จธ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ •์ˆ˜์™€ ๋‹ค๋ฅด๊ฒŒ ๋ถ€๋™์†Œ์ˆ˜์ ์€ '%' ์—ฐ์‚ฐ์ž๊ฐ€ ์•„๋‹ˆ๋ผ 'truncatingRemainder' ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 5 % 3 = 2 let number: Double = 5.0 var result: Double = number.tru..

Swift 2021.08.13

[ IOS ] ์›น ์•ฑ ๋งŒ๋“ค๊ธฐ - ์›น ๋ทฐ (Web View), ํˆด๋ฐ” (Toolbar), ์•กํ‹ฐ๋น„ํ‹ฐ ์ธ๋””์ผ€์ดํ„ฐ (Activity Indicator)

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ์›น ๋ทฐ์— HTML ํŒŒ์ผ์„ ์ฝ์–ด ๋””์Šคํ”Œ๋ ˆ์ดํ•˜๊ณ  ์ž์‹ ์˜ ๋ธ”๋กœ๊ทธ ๋งํฌ๋ฅผ ๊ฑธ์–ด ํด๋ฆญ์‹œ ์ด๋™ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์ž. ๊ทธ๋ฆฌ๊ณ  URL ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์›น ๋ทฐ์— ํ•ด๋‹น ์›น ํŽ˜์ด์ง€๊ฐ€ ๋œจ๋„๋ก ๊ตฌํ˜„ํ•˜๋ผ. ๋”ํ•˜์—ฌ ํˆด๋ฐ”์— ์ •์ง€, ์ƒˆ๋กœ ๊ณ ์นจ, ์ด์ „ ํŽ˜์ด์ง€ ์ด๋™, ๋‹ค์Œ ํŽ˜์ด์ง€ ์ด๋™ ๋ฒ„ํŠผ์„ ๊ตฌํ˜„ํ•˜์—ฌ ์›น ํŽ˜์ด์ง€ ๊ด€๋ จ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๋ผ. ๊ตฌํ˜„ ์ˆœ์„œ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ์•„์šธ๋ › ๋ณ€์ˆ˜์™€ ์•ก์…˜ ํ•จ์ˆ˜ ์ƒ์„ฑ ์•ฑ ์‹œ์ž‘ ํ™”๋ฉด ์ดˆ๊ธฐํ™” - HTML ํŒŒ์ผ๋กœ ์›น ํŽ˜์ด์ง€ ์ƒ์„ฑ url ์ž…๋ ฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ํˆด๋ฐ” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ธ๋””์ผ€์ดํ„ฐ ๊ตฌํ˜„ ์ตœ์ข… ๊ฒฐ๊ณผ 1. ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ 1.1 ์›น ๋ทฐ Web View : ์›น ์ฝ˜ํ…์ธ ๋ฅผ ๋ทฐ(view) ํ˜•ํƒœ๋กœ ๋ณด์—ฌ ์ฃผ๋Š” ์•ฑ. HTML๋กœ ์ž‘์„ฑ๋œ ํ™ˆํŽ˜์ด์ง€๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค. WebKit Vi..

iOS 2021.08.05

[ SWIFT ] ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ณ ๊ธ‰(3) - ์—ด๊ฑฐํ˜•

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ณ ๊ธ‰(3) ์—ด๊ฑฐํ˜• ๊ธฐ๋ณธ ์—ด๊ฑฐํ˜• ์›์‹œ ๊ฐ’ ์—ฐ๊ด€ ๊ฐ’ ํ•ญ๋ชฉ ์ˆœํšŒ ์ˆœํ™˜ ์—ด๊ฑฐํ˜• ๋น„๊ต ๊ฐ€๋Šฅํ•œ ์—ด๊ฑฐํ˜• 1. ์—ด๊ฑฐํ˜• : ์—ฐ๊ด€๋œ ํ•ญ๋ชฉ๋“ค์„ ๋ฌถ์–ด์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ž…. ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ •์˜ํ•ด์ค€ ํ•ญ๋ชฉ ๊ฐ’ ์™ธ์—๋Š” ์ถ”๊ฐ€/์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅ ์Šค์œ„ํ”„ํŠธ์˜ ์—ด๊ฑฐํ˜•์€ ๊ฐ ํ•ญ๋ชฉ์ด ๊ทธ ์ž์ฒด๋กœ ๊ณ ์œ ์˜ ๊ฐ’์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ญ๋ชฉ๋ณ„ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜๋„ ์žˆ๊ณ  ๊ฐ€์ง€์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ฐ ํ•ญ๋ชฉ์€ ์›์‹œ ๊ฐ’(Raw Value), ์ฆ‰ ์‹ค์ œ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ํ•ญ๋ชฉ์€ ์—ฐ๊ด€ ๊ฐ’(Assosiated Value)๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ’์˜ ๋ฌถ์Œ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ๋กœ switch๋ฌธ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. ์šฉ๋„ ์ •ํ•ด์ง„ ์„ ํƒ์ง€๋ฅผ ์ฃผ๊ณ  ์‹ถ์„ ๋•Œ ์ •ํ•ด์ง„ ๊ฐ’ ์™ธ์—๋Š” ์ž…๋ ฅ๋ฐ›๊ณ  ์‹ถ์ง€ ์•Š์„ ๋•Œ ์˜ˆ์ƒ๋œ ์ž…๋ ฅ ๊ฐ’์ด ํ•œ์ •๋˜์–ด ์žˆ์„ ๋•Œ 2. ๊ธฐ๋ณธ ์—ด๊ฑฐํ˜• e..

Swift 2021.07.30

[ IOS ] ์•Œ๋ฆผ ๋ฉ”์„ธ์ง€๊ฐ€ ๋œจ๋Š” ์•Œ๋žŒ ์‹œ๊ณ„ ๋งŒ๋“ค๊ธฐ - ์–ผ๋Ÿฟ(Alert)

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ˜„์žฌ ์‹œ๊ฐ„์ด ์„ ํƒํ•œ ์‹œ๊ฐ„๊ณผ ๊ฐ™์•„์ง€๋ฉด ์–ผ๋Ÿฟ์œผ๋กœ ์•Œ๋ฆผ ๋ฉ”์„ธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์•Œ๋žŒ ์‹œ๊ณ„๋ฅผ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”. ์•Œ๋ฆผ ๋ฉ”์„ธ์ง€๋ฅผ ๋ˆ„๋ฅธ ํ›„์—๋Š” 1๋ถ„ ๋™์•ˆ ์•Œ๋ฆผ ์ฐฝ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ฒŒ ์„ค์ •ํ•ด ๋ณด์„ธ์š”. ๊ตฌํ˜„ ์ˆœ์„œ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ์•„์šธ๋ › ๋ณ€์ˆ˜์™€ ์•ก์…˜ ํ•จ์ˆ˜ ์ƒ์„ฑ ํ˜„์žฌ ์‹œ๊ฐ„ ์ถœ๋ ฅํ•˜๊ธฐ - 1์ดˆ๋งˆ๋‹ค ํ˜„์žฌ ์‹œ๊ฐ„ ๊ฐฑ์‹ (ํƒ€์ด๋จธ ์‚ฌ์šฉ) ์„ ํƒ ์‹œ๊ฐ„ ์ถœ๋ ฅํ•˜๊ธฐ ํ˜„์žฌ ์‹œ๊ฐ„๊ณผ ์„ ํƒ ์‹œ๊ฐ„ ๋น„๊ต ํ›„ ์•Œ๋ฆผ ๋ฉ”์„ธ์ง€ ๋„์šฐ๊ธฐ ์•Œ๋ฆผ ๋ฉ”์„ธ์ง€ ํ™•์ธ ์งํ›„ 1๋ถ„ ๋™์•ˆ ์•Œ๋ฆผ ์ฐฝ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ฒŒ ํ•˜๊ธฐ ์ตœ์ข… ๊ฒฐ๊ณผ https://88yhtserof.tistory.com/20 [ IOS ] ์•Œ๋žŒ ์‹œ๊ณ„ ๋งŒ๋“ค๊ธฐ - ๋ฐ์ดํ„ฐ ํ”ผ์ปค ์‚ฌ์šฉํ•ด ๋‚ ์งœ ์„ ํƒํ•˜๊ธฐ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ๋ฐ์ดํ„ฐ ํ”ผ์ปค๋ฅผ ์ด์šฉํ•˜์—ฌ ์‹œ๊ฐ„์„ ์„ ํƒํ•˜๊ณ , ์„ ํƒ ์‹œ๊ฐ„ 1๋ถ„ ์ „๋ถ€ํ„ฐ ํ™”..

iOS 2021.07.27

[ IOS ] ํ”ผ์ปค ๋ทฐ ๋งŒ๋“ค๊ธฐ ( ํ”„๋กœํ† ์ฝœ, ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ ๋ฉ”์„œ๋“œ )

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‘ ๊ฐœ์ธ ํ”ผ์ปค ๋ทฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋ผ. ์™ผ์ชฝ ํ”ผ์ปค ๋ทฐ๋ฅผ ์„ ํƒํ–ˆ์„ ๊ฒฝ์šฐ ํŒŒ์ผ ๋ช…์ด ๋‚˜ํƒ€๋‚˜๋„๋ก, ์˜ค๋ฅธ์ชฝ ํ”ผ์ปค ๋ทฐ๋ฅผ ์„ ํƒํ–ˆ์„ ๊ฒฝ์šฐ ์ด๋ฏธ์ง€ ๋ทฐ์— ์ด๋ฏธ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ํ•œ๋‹ค. ๊ตฌํ˜„ ์ˆœ์„œ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑํ•˜๊ธฐ ์•„์šธ๋ › ๋ณ€์ˆ˜ ์ƒ์„ฑํ•˜๊ธฐ ํ”ผ์ปค ๋ทฐ์˜ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ ์„ค์ •ํ•˜๊ธฐ ํ•„์š”ํ•œ ํด๋ž˜์Šค ์ƒ์†๋ฐ›๊ธฐ(ํ”„๋กœํ† ์ฝœ ์ฑ„ํƒ), ๋ณ€์ˆ˜ ๋ฐ ์ƒ์ˆ˜ ์ถ”๊ฐ€ํ•˜๊ธฐ, ์ดˆ๊ธฐํ™”๋ฉด ์„ค์ •ํ•˜๊ธฐ ํ”ผ์ปค ๋ทฐ ๋™์ž‘ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ ์ฒซ ๋ฒˆ์งธ ํ”ผ์ปค ๋ทฐ ์„ ํƒ ์‹œ ํŒŒ์ผ ๋ช… ์ถœ๋ ฅํ•˜๊ธฐ ๋‘ ๋ฒˆ์งธ ํ”ผ์ปค ๋ทฐ ์„ ํƒ์‹œ ์ด๋ฏธ์ง€ ์ถœ๋ ฅํ•˜๊ธฐ ํ”ผ์ปค ๋ทฐ ๋ฃฐ๋ › ํ–‰ ๋†’์ด ์„ค์ • ์ตœ์ข… ๊ฒฐ๊ณผ โ€ป ๊ฐœ๋… ์‚ดํŽด๋ณด๊ธฐ ํ”„๋กœํ† ์ฝœ Protocol ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ๊ตฌํ˜„๋˜์–ด์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœํ† ์ฝœ์„ ๋จผ์ € ์•Œ์•„๋ณด์ž. Protocol (1) ์™ธ๊ต ์˜๋ก€, ์˜์ „ (2) (์กฐ์•ฝ์˜) ์ดˆ์•ˆ, ๋ณด์ถฉํ˜‘์•ฝ ..

iOS 2021.07.25

[ SWIFT ] ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ณ ๊ธ‰ (2) - ์ปฌ๋ ‰์…˜ ํƒ€์ž… <๋ฐฐ์—ด, ๋”•์…”๋„ˆ๋ฆฌ, ์„ธํŠธ>

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ณ ๊ธ‰(2) - ์ปฌ๋ ‰์…˜ํ˜• ์ปฌ๋ ‰์…˜ ํƒ€์ž… ๋ฐฐ์—ด ๋”•์…”๋„ˆ๋ฆฌ ์„ธํŠธ 1. ์ปฌ๋ ‰์…˜ ํƒ€์ž… Collection Types SWIFT์—์„œ ์ปฌ๋ ‰์…˜ ํƒ€์ž…(Collection Type)์€ ๋ฐ์ดํ„ฐ ๋ฌถ์Œ์„ ์˜๋ฏธํ•œ๋‹ค. SWIFT์—์„œ๋Š” 3๊ฐ€์ง€์˜ ์ปฌ๋ ‰์…˜ ํƒ€์ž…์„ ์ œ๊ณตํ•œ๋‹ค. ์ด ์„ธ ๊ฐ€์ง€ ์ปฌ๋ ‰์…˜ ํƒ€์ž… ๋ชจ๋‘ generic collections๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ์ง€์ •๋œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค. ์ข…๋ฅ˜๋กœ๋Š” ๋ฐฐ์—ด, ๋”•์…”๋„ˆ๋ฆฌ, ์„ธํŠธ ๋“ฑ์ด ์žˆ๋‹ค. let ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์ƒ์ˆ˜๋กœ ์„ ์–ธํ•˜๋ฉด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ์ปฌ๋ ‰์…˜ ํƒ€์ž…์ด ๋œ๋‹ค. var ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•˜๋ฉด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ์ปฌ๋ ‰์…˜ ํƒ€์ž…์ด ๋œ๋‹ค. ์ œ๋„ค๋ฆญ Generic ์ œ๋„ค๋ฆญ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„๋œ ๊ฒƒ๋“ค์€ ์–ด๋–ค ํƒ€์ž…์ด๋“  ๋‹ด์„ ์ˆ˜ ์žˆ๊ฒŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธ..

Swift 2021.07.20
728x90