-
Notifications
You must be signed in to change notification settings - Fork 20
Closed
Labels
Description
Foreach
- For Eachs는 클로져 형태로 구현된 메소드이다.
- forEach는 반복문이 아니라, 클로저를 파라미터로 넘겨주는 메소드라는 것을 꼭 기억하길❗️❗️
- Collection Type에서 제공하는 기능이며 Closure방식을 사용한다.
- 각각의 element를 parameter로 하여 element의 개수만큼 호출 되는 것이다.
- for each는 내부적으로 for in을 사용한다 !
break와continue을 사용할 수 없다. 메소드 이므로return을 하더라도 그 이후에 계속 실행된다.
For-in
break,continue사용 가능.where을 통한 조건 설정 가능
for article in articles where !article.isDraft {
results.append(article)
guard results.count < 5 else {
break
}
}- where 이용한 예제
공통점
- 두가지 모두 순차적으로 element에 접근 할 수 있다.
그럼 언제 사용하여야 할까?
-
For-in: For문 안을 좀 더 정밀하게 사용하고 싶을 경우.break,continue,return기능을 사용해야하는 경우where을 이용한 패턴 매칭을 사용하는 경우
-
Foreach: 단순한 경우- 장점 : 중단 할 수 없을지 몰라도(에러경우 제외) First Class 함수와 클로저의 강력한 장점을 사용가능