[iOS/RxSwift] Observable๊ณผ Subscribe, Disposable๋Š” ๋ฌด์—‡์ธ๊ฐ€?

์•ˆ๋…•ํ•˜์„ธ์š”? ๋„ˆ๊ตฌ๋ฆฌ์ž…๋‹ˆ๋‹ค~ ์˜ค๋Š˜์€ ์ €๋ฒˆ ์‹œ๊ฐ„์— ๊ฐ„๋‹จํžˆ ๋‹ค๋ค˜๋˜ RxSwift์˜ ์š”์†Œ! Observable๊ณผ ํ•ญ์ƒ ๋‹จ์ง์ธ Subscribe์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ• ๊ฒŒ์š”! ์ž! ๋ฐ”๋กœ ๊ฐ€์‹œ์ฃ ~! Observable๋Š” ๋ฌด์—‡์ธ๊ฐ€? Observable์€ ์‚ฌ์ „์  ์ •์˜๋กœ "๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ๋Š”" ์ด๋ผ๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋ฒˆ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ ์ฒ˜๋Ÿผ Observable์€ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ๊ณ  ์–˜๋ฅผ ๊ด€์ฐฐํ•˜๋Š” Observer์—๊ฒŒ ์ด๋ฒคํŠธ๋ฅผ ๋ฐฉ์ถœ(์ „๋‹ฌ)ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ์‹œํ€€์Šค์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๊ณผ์ •์„ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ฃ ! ๋ฐฉ์ถœํ•œ๋‹ค๋Š” ๋ง ์ž์ฒด๊ฐ€ ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ๋œ๋‹ค๋ฉด ์ „๋‹ฌํ•ด์ค€๋‹ค๊ณ  ์ดํ•ดํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค! ๊ทธ๋Ÿผ Observable์ด ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋กœ ๊ตฌ์„ฑ์ด ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. /// It represents a push style se..

iOS/RxSwift 2022. 11. 17. 00:43
[iOS/UIKit] ์Šคํ† ๋ฆฌ๋ณด๋“œ(storyboard)์—†์ด ์ฝ”๋“œ๋กœ ์ฒ˜์Œ ํ™”๋ฉด ์—ฐ๊ฒฐํ•˜๊ธฐ

์•ˆ๋…•ํ•˜์„ธ์š”? ๋„ˆ๊ตฌ๋ฆฌ์ž…๋‹ˆ๋‹คใ…Žใ…Ž ์˜ค๋Š˜์€ UIkit์—์„œ ์Šคํ† ๋ฆฌ๋ณด๋“œ ์—†์ด ์ฒ˜์Œํ™”๋ฉด(RootViewController)๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณผ๊นŒ ํ•ด์š”! ์‚ฌ์‹ค ์–ด๋Š์ •๋„ iOS๋ฅผ ๊ณต๋ถ€ํ•˜์‹  ๋ถ„์ด๋ผ๋ฉด ์—ฌ๋Ÿฌ ์ž๋ฃŒ๋ฅผ ํ†ตํ•ด ์•„์‹ค ๋‚ด์šฉ์ด์ง€๋งŒ ์ด ๊ณผ์ •์—์„œ ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์–ด ์ด๊ฒƒ๋จผ์ € ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋œ ์Šคํ† ๋ฆฌ๋ณด๋“œ ์ œ๊ฑฐํ•˜๊ธฐ Xcode์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ UIkit ํ™˜๊ฒฝ์—์„œ ์ƒ์„ฑํ•˜๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์Šคํ† ๋ฆฌ๋ณด๋“œ๊ฐ€ ์ƒ์„ฑ์ด ๋˜์–ด์žˆ์„๊ฑฐ์—์š”! ๊ทธ๋ž˜์„œ ๋จผ์ € ์Šคํ† ๋ฆฌ๋ณด๋“œ ์—ฐ๊ฒฐ์„ ๋Š์–ด๋ณด๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋ƒฅ ์ดˆ๊ธฐ ์Šคํ† ๋ฆฌ๋ณด๋“œ ํŒŒ์ผ(Main.storyboard)๋งŒ ์ง€์šฐ๋ฉด ๋˜๋Š”๊ฒƒ ์•„๋‹ˆ์•ผ? ๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ค ์ˆ˜ ์žˆ์–ด์š”! ํ•˜์ง€๋งŒ ํŒŒ์ผ๋งŒ ์ง€์šฐ๊ณ  ๋นŒ๋“œ๋ฅผ ํ•˜๋ฉด??? ์ด๋ ‡๊ฒŒ "Main"์ด๋ผ๋Š” ์Šคํ† ๋ฆฌ๋ณด๋“œ๋ฅผ ๋ชป์ฐพ๊ณ  ์žˆ๋‹ค๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹คใ… ใ…  ๊ทธ๋ž˜์„œ ์Šคํ† ๋ฆฌ ๋ณด๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด์„œ..

iOS/UIKit 2022. 9. 7. 00:40
[iOS/Swift] ARC(Automatic Reference Counting)์„ ์•Œ์•„๋ณด์ž

์•ˆ๋…•ํ•˜์„ธ์š”? ๋„ˆ๊ตฌ๋ฆฌ์ž…๋‹ˆ๋‹ค~ ์š”์ฆ˜ ์ž‘์—…์ค‘์— weak self๋ฅผ ๋งŽ์ด ์“ฐ๊ณ  ์žˆ๋Š”๋ฐ์š”? weak self๋ฅผ ์–ธ์ œ ์“ฐ๋Š”์ง€ ์•Œ๊ณ  ์žˆ๊ธดํ•œ๋ฐ... ์Œ ๋ช…ํ™•ํ•˜์ง€ ์•Š์€ ๋Š๋‚Œ์ด์—ฌ์„œ ๊ทผ๋ณธ์ด ๋˜๋Š” arc๋‚ด์šฉ์„ ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค!! ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•ด๋ณผ๊ฒŒ์š”~~ ARC๋ž€? ARC(Automatic Reference Couting)์€ ์ด๋ฆ„์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋“ฏ์ด ์ž๋™์œผ๋กœ ์ฐธ์กฐ๋ฅผ ์นด์šดํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ฐธ์กฐ..? ์ฐธ์กฐํƒ€์ž…์ธ ์นœ๊ตฌ๊ฐ€ swift์— ํ•˜๋‚˜ ์žˆ์—ˆ์ฃ ? ๋ฐ”๋กœ class!!! ๊ทธ๋ž˜์„œ ARC๋Š” ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•ด์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ARC๋Š” ์šฐ๋ฆฌ์—๊ฒŒ ์–ด๋–ค ๋„์›€์„ ์ฃผ๋Š” ๊ฑธ๊นŒ์š”? ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹น์„ ํ•ด์ฃผ๊ณ  ์ฐธ์กฐํ•  ๋•Œ ๋งˆ๋‹ค Reference Counting์„ +1 ํ•ด์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ ..

iOS/Swift 2022. 7. 24. 16:00
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
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
๊ธ€ ๋ณด๊ด€ํ•จ