티스토리 뷰

 

for을 쓸까 foreach를 쓸까는 항상 고민되는 이슈이다. 

 

주변에 좀 물어봤는데 for이 속도가 더 빠르고, 중간에 break도 되고, 아무튼(?) 더 좋았다. forEach는 클로저를 넣을 수 있는게 장점인 것 같다. 

 

 

====

고차함수들을 잘 써야 좋은 프로그래머라고 생각한다. 특히 함수형을 잘 살려야 좋은 swift 개발자라고 나는 생각한다. 

 

 

나는 그동안은 filter라는 함수에 관심이 별로 없었다. 쓸일이 없었다. 

 

 

근데, 이런 함수를 만들려고 하는데...!!!!

이 함수는 리스트 안에, isSelected된 버튼이 있으면, 그 버튼을 리턴해주는 함수이다. 

 

내 의도와는 달리, forEach 안에서 리턴 되어버리는 원하지 않는 결과가 탄생했다... 클로저라서,,,,

 

이럴때 쓰는게 filter이다. 

return daysArray.filter({ $0.isSelected}).first ?? UIButton() 

 

내가 forEach를 돌게 하지 않고,  filter가 daysArray를 돌면서 filter 기준으로 isSelected된 것만 거른 '새로운 배열'을 돌려준다. 나온 새로운 배열에서 첫번째 인자를 이용하는게 저 한줄짜리 코드이다. 

 

====

+) iOS Developers KR 단톡에서 물어보니, functional programming을 하고 싶으면 forEach보다는 map이나 flatmap을 쓰는게 더 좋다고 말했다. 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함