UIKit 3

[iOS / Uikit] ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ํ•ด๋ณด์ž! (MoyaํŽธ)

iOS ํ”„๋กœ์ ํŠธ์—์„œ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ๋” ํŽธํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” Moya ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ! ํ•ด๋‹น ๊ธ€์€ ํ•จ๊ป˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ํŒ€์›๋“ค์„ ์œ„ํ•ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค โœŒ๏ธMoya๊ฐ€ ๋ชจ์•ผ? ๐Ÿคท‍โ™€๏ธ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ… URLSession์„ ๋” ๊น”๋”ํ•˜๊ณ  ๊ตฌ์กฐ์ ์œผ๋กœ ์“ฐ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„คํŠธ์›Œํฌ ์ถ”์ƒํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ˆ์š”! ์š”์ฒญ ๋งŒ๋“ค๊ธฐ / ์‘๋‹ต ์ฒ˜๋ฆฌ / ์—๋Ÿฌ ํ•ธ๋“ค๋ง / ๋กœ๊ทธ ์ถœ๋ ฅ ๊ฐ™์€ ๊ฒƒ๋“ค์„ ๋ณด๊ธฐ ์ข‹๊ณ  ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์š”. ๊ทธ๋Ÿผ ์ด์ œ๋ถ€ํ„ฐ ๋„คํŠธ์›Œํฌ ์„ธํŒ… ๊ตฌ์กฐ๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณผ๊นŒ์œ ? ๐Ÿ‘‡๐Ÿ“Œ 1. BaseTargetType — ๊ณตํ†ต ์„ค์ • ๋ชจ์•„๋‘๊ธฐ//// BaseTargetType.swift//import Foundationimport Moyaprotocol BaseTargetType: TargetType { }extension B..

[iOS / Uikit] ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋ž ๊ตฌํ˜„ํ•˜๊ธฐ :interactiveMovement

์ตœ๊ทผ์— ๋ฉœ๋ก ๋ฎค์ง ํด๋ก ์ฝ”๋”ฉ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋Š”๋ฐ์š”!ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ปฌ๋ ‰์…˜๋ทฐ์—์„œ ์…€ ์ „์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ์…€ ๋‚ด๋ถ€์˜ ํŠน์ • ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ๋งŒ ๋“œ๋ž˜๊ทธ์•ค๋“œ๋ž์ด ๋™์ž‘ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. UIKit์—์„œ Drag & Drop์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์–ด์š”.1. UICollectionViewDragDelegate์™€ UICollectionViewDropDelegate๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹2. LongPress ์ œ์Šค์ฒ˜๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ์‹๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด๋ณผ๊นŒ์š”?1) UICollectionViewDragDelegate · UICollectionViewDropDelegate ์‚ฌ์šฉUIKit์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” Drag & Drop ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.iOS 11 ์ดํ›„๋กœ ๋„์ž…๋œ ์‹œ์Šคํ…œ ์ธํ„ฐ๋ž™์…˜์ด๋ผ ๊ธฐ๋ณธ ์ œ์Šค์ฒ˜์™€ ..

[iOS / Swift] ์ƒ๋ช…์ฃผ๊ธฐ(Life Cycle)๋ž€?

๐ŸŽ ์ƒ๋ช…์ฃผ๊ธฐ(Life Cycle)๋ž€?์ƒ๋ช…์ฃผ๊ธฐ(Life Cycle)๋ž€ ์•ฑ์ด ์‹คํ–‰๋˜๋Š” ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์™„์ „ํžˆ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€์•ฑ์ด ์–ด๋–ค ์ƒํƒœ(state)์— ์žˆ๊ณ , ๊ทธ ์ƒํƒœ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”๋˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ์•ฑ์€ ์‹คํ–‰ ์ค‘์ผ ์ˆ˜๋„ ์žˆ๊ณ , ์ž ์‹œ ๋ฉˆ์ถฐ ์žˆ์„ ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ์™„์ „ํžˆ ์ข…๋ฃŒ๋œ ์ƒํƒœ์ผ ์ˆ˜๋„ ์žˆ๊ฒ ์ฃ ~์ด๋Ÿฌํ•œ ๊ฐ๊ฐ์˜ ์ƒํƒœ๋Š” ์•ฑ์ด ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๊ณ , ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์—†๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ์ดํ•ดํ•˜๋ฉด ์•ฑ์ด ์–ธ์ œ ์ดˆ๊ธฐํ™”๋˜๊ณ , ์–ธ์ œ ๋ฉˆ์ถ”๋ฉฐ, ์–ธ์ œ ๋‹ค์‹œ ํ™œ์„ฑํ™”๋˜๋Š”์ง€๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด ์•ฑ์˜ ๋™์ž‘ ํ๋ฆ„์„ ์˜ˆ์ธกํ•˜๊ณ  ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๐ŸŽ ์•ฑ์˜ ์ƒ๋ช…์ฃผ๊ธฐ(App’s Life Cycle) ๋ž€?์•ฑ์ด ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ์ข…๋ฃŒ๋  ๋•Œ, ๊ทธ๋ฆฌ๊ณ  Foreground(ํ™”๋ฉด์— ๋ณด์ด๋Š” ์ƒํƒœ)์™€ Background(ํ™”๋ฉด์— ๋ณด์ด์ง€ ์•Š๋Š” ์ƒํƒœ)๋ฅผ ์˜ค๊ฐˆ..

๋ฐ˜์‘ํ˜•