์ด๊ฒ์ ์ด์ ์ ๋น๊ณต์์ ์ผ๋ก ์ ์ ๋์์ผ๋ฏ๋ก ์ด๋ฅผ ๊ณต์ํํด ๋ณด๊ฒ ์ต๋๋ค.
์, ๋ฌผ๋ก @neilpa ์ ๋๋จธ์ง ํ ๋ชจ๋ ์ด์ ๋์ํ๊ณ ์ ์ฅ์ ์์ ๊ถ์ ReactiveCocoa org๋ก ์ด์ ํด์ผ ํฉ๋๋ค. URL๊ณผ ๊ด๋ จํ์ฌ Github์ ๋ชจ๋ ๋ฌด๊ฑฐ์ด ์์ ์ ์ํํ๋ ๊ฒ ๊ฐ์ต๋๋ค .
Rex๋ฅผ ReactiveCocoa ์กฐ์ง์ผ๋ก ์ฎ๊ธฐ๋ ๊ฒ์ ์ฐฌ์ฑํฉ๋๋ค. ๊ฐ์ธ ๋์ดํฐ๋ก ์์ํ์ง๋ง ๋ ์ ์ฉํ ๊ฒ์ผ๋ก ๋ณ๋ชจํ์ต๋๋ค. ๋ํ ๋ ์ด์ ์ผ์ ์ ๋ฌด์์ RAC๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฏ๋ก ์ปค๋ฎค๋ํฐ์ ์์ ๊ถ์ ๋ถ์ฌํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ ๋๋ค.
๋ฐฉ์์ ๋ฅผ ๋น๊ธฐ๊ธฐ ์ ์ @NachoSoto ์ @mdiep ์ด ๊ทธ๊ฒ์ ๋ํด ์ด๋ป๊ฒ ๋๋ผ๋์ง ์๊ณ ์ถ์ต๋๋ค.
๋๋ ์์ ํ ์ฐธ์ฌํ ๊ฒ์ ๋๋ค. ๋๋ ์ฐ์ฐ์/๊ตฌํ์ด ํ์ค์ ๋ถํฉํ๋์ง ํ์ธํ๊ธฐ ์ํด ํต๊ณผ/๋น ๋ฅธ ์ฝ๋ ๊ฒํ ๋ฅผ ์ ์ํ ๊ฒ์ ๋๋ค(๋๋ ๊ธฐ์๊ฒ ์๊ฐํฉ๋๋ค). @neilpa ๋ฅผ ์๋ 1์ด :)), ํ์ง๋ง ๋ค์์ ํ์ธํ๊ธฐ ์ํด:
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ ์ฝ๊ฒ ์ก์ธ์คํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ๋ชฉํ๋ผ๋ฉด ์ข ๋ ๊ณต์์ ์ธ ์ด๋ฆ์ด ๋์์ด ๋ ์ ์๋ค๊ณ ์ ์ํฉ๋๋ค. "Rex"๋ ๋ด๊ฐ ๋ณผ ๋ ReactiveCocoa๋ฅผ ๋ ์ฌ๋ฆฌ๊ฒ ํ์ง ์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ์ด๋ฆ์ด ๋ฌด์์ธ์ง ํ์คํ์ง ์์ง๋ง ์ด๋ฆ์ "ReactiveCocoa" ๋๋ "Reactive"๋ง ์๋ ๊ฒ์ด ๋ ๋์ IMO์ ๋๋ค.
Rex๋ฅผ ์ค์ ๋ก ๋ณธ ์ ์ ์์ง๋ง ReactiveCocoa org์์ UI ์ค์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ๋ ์์ด๋์ด๊ฐ ๋ง์์ ๋ญ๋๋ค. ๋ ์ค๋ ์ข์ ์ถ๋ฐ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๐ @NachoSoto๋ฅผ ๋จผ์ ๋ณด์๋ ๊ฒ๋ ์ข์ ์์ด๋์ด์ธ ๊ฒ ๊ฐ์์.
์ผ๋ฐ์ ์ผ๋ก RAC์ ๋ํ ํต์ฌ ๊ธฐ์ฌ์๋ฅผ ๋ ์ฐพ์์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ชจ๋๊ฐ ๊ฝค ์๊ฒ ํผ์ง ๊ฒ ๊ฐ์ต๋๋ค.
@tonyarnold ๋์์ด ๋ ์ ์์ต๋๋ค. โจ
@mdiep ๋์ํฉ๋๋ค. ๊ทธ๋๋ Rex๋ ๋ฌธ์(README) ์ธก๋ฉด์์ ์ฝ๊ฐ์ ์์ ์ด ํ์ํฉ๋๋ค. ์์ค ์ฝ๋๋ฅผ ํ์ธํ๋ ๋์ ์นดํ๋ก๊ทธ๊ฐ ์ ๊ณตํ๋ UI ๋ฐ์ธ๋ฉ์ ์ข ๋ฅ๋ฅผ ์ฌ๋๋ค์ด ์ ์ ์๋๋ก ์นดํ๋ก๊ทธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ๋ฌธ์ํํด์ผ ํ๋ ๊ธฐํ ์ฐ์ฐ์๋ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก RAC์ ๋ํ ํต์ฌ ๊ธฐ์ฌ์๋ฅผ ๋ ์ฐพ์์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ชจ๋๊ฐ ๊ฝค ์๊ฒ ํผ์ง ๊ฒ ๊ฐ์ต๋๋ค.
์ ๋ ์ฌ๊ธฐ์ ๋์ํฉ๋๋ค. ์ฌ๊ธฐ์ ํด์ผ ํ ์ผ์ด ๊ฝค ์์ต๋๋ค.
ํ์ฌ ์ง์ฅ์์ Rex์ ReactiveCocoa๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํ์ํ ๊ณณ์ ๋์์ ๋๋ฆด ์ ์์ด ๊ธฐ์ฉ๋๋ค.
@RuiAAPeres ๋ ReactiveCocoa์ Rex๋ฅผ ์ฌ์ฉํ๊ณ ํ๋ณดํ๋ ๋ฐ ์์ฒญ๋ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์์ต๋๋ค. ์ ๋ ๊ทธ๊ฐ ์ข์ ํต์ฌ ๊ธฐ์ฌ์๊ฐ ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ์ฌ ๋ฐ์ธ๋ฉ์ ํ๋ํํ๊ณ ์๋ก์ด ๋ฐ์ธ๋ฉ์ ์ ๊ณตํ๊ธฐ ์ํด ์์ง ํด์ผ ํ ์ผ์ด ๋ง์ด ์์ผ๋ฉฐ ์ด๋ฅผ ๋ฌ์ฑํ๋ ๋ฐ ์ข์ ์์ฐ์ด ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋๋ ๋ํ ํ์ฌ ์ง์ฅ์์ ReactiveCocoa์ Rex๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก ๋ด๊ฐ ํ ์ ์๋ ๋ชจ๋ ๋์์ ๋ฐ์ ์ ์๊ณ ๊ด์ฌ์ด ์์ต๋๋ค.
์ฐธ๊ณ ๋ก ๊ฐ์ธ ๋์ดํฐ https://github.com/inamiy/ReactiveCocoaCatalog/pull/8์ Rex ๋ฐ๋ชจ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
์ง๊ธ๊น์ง๋ ์ ๋ง ์ข์ ์ฝ๋์
๋๋ค. ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ org๋ก ๋ง์ด๊ทธ๋ ์ด์
ํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
Rex๋ฅผ ReactiveCocoa์ ๊ณต์ ์ผ๋ถ๋ก ๋ง๋๋ ๊ฒ์ ์ข์ ์๊ฐ์ ๋๋ค. Swift๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋๋ฅผ ์ฌ๋ฌ ๋ชจ๋๋ก ์ฝ๊ฒ ๋ถํ ํ ์ ์์ผ๋ฏ๋ก ๊ธฐ๋ณธ ๋ชจ๋์ ํต์ฌ ๊ธฐ๋ฅ์ ์ ์งํ๊ณ UI๋ณ ํ์ฅ์ ์ํ ๋ ๋ฒ์งธ ๋ชจ๋์ ๋์ ํ๋ ๊ฒ์ด ํ์คํ ์๋ฏธ๊ฐ ์์ต๋๋ค.
๋ค์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ํฉ๋๋ค.
rex_xxx
๋ฅผ rac_xxx
๋ก ๋ณ๊ฒฝ@lukaskubanek ๋๋ ์ฒซ ๋ฒ์งธ ์์ ์ ๋์ํ์ง๋ง ๋ค์์ ๋ํด ์๊ฒฌ์ด ์๊ฐ๋ฆฝ๋๋ค.
์ด๋ฆ์ ์ผ๊ด์ฑ ์๊ฒ ๋ง๋ค๊ธฐ ์ํด ์ ๋์ฌ rex_xxx๋ฅผ rac_xxx๋ก ๋ณ๊ฒฝ
์ด๋ฆ์ ์ผ๊ด๋๊ฒ ์ ์งํ์ง๋ง IMHO๋ฅผ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์ด์ ์ด ์์ต๋๋ค.
rex_
๋ฅผ ๋น ๋ฅด๊ฒ ๊ฒ์ํ๋ฉด ์ด๋ฅผ ํ์ธํ๊ณ ์ข
์์ฑ์ผ๋ก ์ ๊ฑฐํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.ํต์ฌ Swift ์ฝ๋, Obj-C ์ฝ๋ ๋ฐ Swift <-> Obj-C ๋ธ๋ฆฌ์ง๋ฅผ ๋ณ๋์ repos(#2807)๋ก ์ฎ๊ธฐ๊ณ Cocoa ๋ฐ์ธ๋ฉ์ ์ํด ์ด repo๋ฅผ ๋จ๊ฒจ๋๋ ๊ฒ์ ๋ํด ๋ ผ์ํ์ต๋๋ค. ๊ทธ๋์ Rex๋ฅผ ์ฎ๊ฒจ์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ RAC 5๋ก ์ฝ๋๋ฅผ ์ ๋ ฅํฉ๋๋ค.
@neilpa @NachoSoto ์ด๋ป๊ฒ ์๊ฐํ์ธ์?
ReactiveCocoa ObjC API์ ๋ํ Rex ๋ฐ Swift ๋ฐ์ธ๋ฉ์ ์ข ์์ฑ์ด ๋ถ๋ฆฌ ์ค์ ์ ๊ฑฐ๋ฉ๋๊น? ์ฆ, Swift์์ ๋ค์ ๊ตฌํ๋ฉ๋๊น? ๊ทธ๋ ์ง ์์ผ๋ฉด Swift ์ฌ์ฉ์๋ ์ฌ์ ํ ๋ช ๊ฐ์ง ๋ธ๋ฆฌ์ง ๋ฐฉ๋ฒ์ ๋ํด ์ ์ฒด ObjC ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋น๋ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ถํ IMO๋ ์ ์ง ๊ด๋ฆฌ ์ด์ธ์ ์์ ์์๋ ์ค์ ๋ก ํจ๊ณผ์ ์ด์ง ์์ต๋๋ค.
ReactiveCocoa ObjC API์ ๋ํ Rex ๋ฐ Swift ๋ฐ์ธ๋ฉ์ ์ข ์์ฑ์ด ๋ถ๋ฆฌ ์ค์ ์ ๊ฑฐ๋ฉ๋๊น? ์ฆ, Swift์์ ๋ค์ ๊ตฌํ๋ฉ๋๊น?
๋ค! ๊ทธ๊ฒ์ ๋ถ๋ช ํ ์ผ๋ถ Objective-C๋ฅผ ํฌํจํ์ง๋ง ReactiveObjC๋ ํฌํจํ์ง ์์ ๊ฒ์ ๋๋ค.
๊ทธ๋์ Rex ์ฝ๋๋ฅผ RAC 5๋ก ์ด ์ ์ฅ์๋ก ์ฎ๊ฒจ์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋์ํ์ง๋ง repo ๊ธฐ๋ก์ ๋ํด ์ฃผ์ํด์ผ ํฉ๋๋ค. ์ ์์ ์ธ repo ๊ธฐ๋ก์ ์ ์งํ๋ ์ด๋/๋ฆฌ๋ฒ ์ด์ค/๋ถํ ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ณํ์ ์๋ฆฝํด์ผ ํฉ๋๋ค.
์ ์ฌ์ ์ธ subtree split
์ต์
์ด ์๋ ๋ฏธํด๊ฒฐ ๋ฌธ์ ์ ๋ํ ๊ฒฐ๊ณผ๋ ์์ต๋๋ค.
#3210 ๋๋ถ์ ์ด์ ๋๋ ๊ฒ ๊ฐ์์!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@lukaskubanek ๋๋ ์ฒซ ๋ฒ์งธ ์์ ์ ๋์ํ์ง๋ง ๋ค์์ ๋ํด ์๊ฒฌ์ด ์๊ฐ๋ฆฝ๋๋ค.
์ด๋ฆ์ ์ผ๊ด๋๊ฒ ์ ์งํ์ง๋ง IMHO๋ฅผ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์ด์ ์ด ์์ต๋๋ค.
rex_
๋ฅผ ๋น ๋ฅด๊ฒ ๊ฒ์ํ๋ฉด ์ด๋ฅผ ํ์ธํ๊ณ ์ข ์์ฑ์ผ๋ก ์ ๊ฑฐํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.