์๋ ํ์ธ์ Foma ์ ๋๋ค!
์ค๋ ์์๋ณผ๊ฑด ๋ฐฐ์ด์์ ํน์ ๊ฐ์ ์ํ๋ ๊ฐ์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ์ธ๋ฐ์.
์ ๋ชฉ์์ ํ์ค๋ก ํํํ๊ธฐ๊ฐ ํ๋๋ค์...
Preview
Example
์ฝ๊ฒ ํํํ๋ฉด ๊ณผ์ผ์ด ๋ด๊ฒจ์๋ ๋ฐฐ์ด์ด ์๋ค๊ณ ๊ฐ์ ํ ๊ฒ์
[๋ฐ๋๋,์ฌ๊ณผ,์๋ฐ,ํฌ๋,๋ฐ๋๋,๋ฐ๋๋] <- (์ด๋ ๊ฒ ์๋ค๊ณ ๊ฐ์ )
์ฌ๊ธฐ์ ๋ฐ๋๋๋ฅผ ๋ชจ๋ ๋ธ๊ธฐ๋ก ๋์ฒดํ๊ณ ์ถ์๋ ์ด๋ป๊ฒ ํด์ผํ ๊น์?
๋จผ์ ๋ฐ๋๋๊ฐ ์ด๋ ์์น์ ์๋์ง ์์์ผ ํ๊ฒ ์ฃ ? (ํน์ ๊ฐ์ ์ธ๋ฑ์ค ํ์ )
๊ทธ๋ฆฌ๊ณ ๋์ ๊ทธ ์์น์ ์๋ ๊ฐ์ ๋ชจ๋ ๋ธ๊ธฐ๋ก ๋ฐ๊ฟ์ค์ผ ํ ๊ฒ์ ๋๋ค. (ํน์ ์ธ๋ฑ์ค๋ฅผ ์ํ๋ ๊ฐ์ผ๋ก ๋ฐ๊ฟ,)
์ด๊ฒ์ ์ด๋ป๊ฒ ์ฝ๊ฒ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค๊น์?
๋ฐ๋ก ์์๋ณด๊ฒ ์ต๋๋ค~
Indices
๊ฐ์ฅ ๋จผ์ ์์์ผํ ๊ฑด "indices" ์ ๋๋ค.
์ ํ ๋ฌธ์์ ๋์์๋๊ฑธ ๊ฐ๋จํ๊ฒ ํด์ํ๋ฉด ์ปฌ๋ ์ ์ ์ค๋ฆ์ฐจ์์ด๋ผ๊ณ ํ๋ค์!
์๋์ ๊ฐ์ด index๋ค์ ๋ํ๋ด์ฃผ๋ ๊ฒ์ด์์!
var fruits = ["๋ฐ๋๋","์ฌ๊ณผ","์๋ฐ","ํฌ๋","๋ฐ๋๋","๋ฐ๋๋"]
let fruitsIndices = fruits.indices //0..<6
Filter
๊ทธ๋ฆฌ๊ณ ๋ฐ๋๋๊ฐ ์ด๋ ์์น์ ์๋์ง filter ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ฃผ์ด์ ์ํ๋ ์ธ๋ฑ์ค๋ฅผ ๊ฑธ๋ฌ๋ ๋๋ค.
์๋์ ๊ฐ์ด ๋ฐ๋๋๊ฐ ์๋ ์ธ๋ฑ์ค๋ค์ด ํํฐ๋ง ๋๊ฑธ ๋ณผ ์ ์์ฃ ?
var fruits = ["๋ฐ๋๋","์ฌ๊ณผ","์๋ฐ","ํฌ๋","๋ฐ๋๋","๋ฐ๋๋"]
let fruitsIndices = fruits.indices
let filteredFruits = fruitsIndices.filter{fruits[$0] == "๋ฐ๋๋"} //[0, 4, 5]
๊ทธ๋ฆฌ๊ณค ์ด๊ฒ์ ์ด๋ป๊ฒ ๋ฐ๊ฟ๊น์?๐ค
ForEach
๋ฐ๋ก foreach๋ฅผ ์ฌ์ฉํด์ฃผ๋ ๊ฒ์ธ๋ฐ์.
ForEach๋ ๊ฑฐ์ for๋ฌธ์ธ๋ฐ ๋ฐฐ์ด์ ์ง์ ์ ๊ทผํด์ ์ํํ๋ ๊ฒ์ด๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
์๋์ ๊ฐ์ด filteredFruits์ forEach๋ฅผ ์ฌ์ฉํด์ fruits์ ๋ฐ๋๋ ์ธ๋ฑ์ค๋ฅผ ๋ชจ๋ ๋ธ๊ธฐ๋ก ๋ฐ๊ฟ ์ ์์ต๋๋ค.
var fruits = ["๋ฐ๋๋","์ฌ๊ณผ","์๋ฐ","ํฌ๋","๋ฐ๋๋","๋ฐ๋๋"]
let fruitsIndices = fruits.indices
let filteredFruits = fruitsIndices.filter{fruits[$0] == "๋ฐ๋๋"}
filteredFruits.forEach{fruits[$0] = "๋ธ๊ธฐ"}
//fruits = ["๋ธ๊ธฐ", "์ฌ๊ณผ", "์๋ฐ", "ํฌ๋", "๋ธ๊ธฐ", "๋ธ๊ธฐ"]
๋ง์ง๋ง์ผ๋ก ์ด๊ฒ์ ๋ชจ๋ ํ์ค๋ก ํํํ๋ ๋ฒ์ ์๋์ ๊ฐ์ด ์ฐ๋ฉด ๋ฉ๋๋ค.
var fruits = ["๋ฐ๋๋","์ฌ๊ณผ","์๋ฐ","ํฌ๋","๋ฐ๋๋","๋ฐ๋๋"]
fruits.indices.filter{fruits[$0] == "๋ฐ๋๋"}.forEach{fruits[$0] = "๋ธ๊ธฐ"}
//fruits = ["๋ธ๊ธฐ", "์ฌ๊ณผ", "์๋ฐ", "ํฌ๋", "๋ธ๊ธฐ", "๋ธ๊ธฐ"]
์ ๋ ๊ฒ ํ ์ค๋ก ํํํ๋ ๊ฒ์ ๋ฌด์กฐ๊ฑด ์ณ์ ๋ฐฉ๋ฒ์ ์๋์ง๋ง ๋ญ๊ฐ ์ด๋ฐ์์ผ๋ก ์ฝ๋๋ฅผ ์ฐ๋ฉด ๊ณ ์๊ฐ์ ๋๋์ด ๋ค์์์..?ใ ใ
์ค๋์ ์ด๋ ๊ฒ ํ์ค๋ก ๋ฐฐ์ด์ ํน์ ๊ฐ์ ์ํ๋ ๊ฐ์ผ๋ก ๋ฐ๊พธ๋ ๋ฒ์ ๋ํด์ ์์๋ณด์์ต๋๋ค.
๊ถ๊ธํ์ ์ ์ด ์์ผ๋ฉด ์ธ์ ๋ ๋๊ธ ๋ฌ์์ฃผ์ธ์!!
'๐ Language > Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[RxSwift] Combining Observables ์์๋ณด๊ธฐ (Combine Latest,Zip, Merge,Concat,withLatestFrom) (0) | 2021.04.07 |
---|---|
[Swift] ๋์ ๋๋ฆฌ๋ฅผ ๊ฐ์ฒด๋ก , ๊ฐ์ฒด๋ฅผ ๋์ ๋๋ฆฌ๋ก ๋ฐ๊พธ๋ ๋ฒ (Dictionary to object , Object to dictionary) (4) | 2021.03.09 |
[RxCocoa] Relay๋? (0) | 2021.02.03 |
[RxSwift] Subject๋? (0) | 2021.01.28 |
[RxSwift] Operator๋? (0) | 2021.01.19 |
๋๊ธ