032_for-in, foreach 알아보기
2022. 8. 17. 23:23ㆍSeSAC/수업정리
▶for-in은 반복문이다. 아래와 같이 작동한다.
let nums: [Int] = [1, 2, 3, 4]
for num in nums {
print(num) // 1 2 3 4
}
▶foreach는 for-in문처럼 순차적으로 주어진 클로저를 호출하는 것이다.(반복실행하려는 코드를 파라미터로 받고 저장된 요소는 클로저 상수로 전달된다. 아래 내용에서는 $0이라는 상수에 저장.)
let nums: [Int] = [1, 2, 3, 4]
nums.forEach {
print($0) // 1 2 3 4
}
▶for-in은 함수안에서 return을 만나면 함수 자체가 종료한다. 따라서 아래 출력값은 1이다.(1을 출력하고 2부터는 반복 안 함)
func printForIn() {
let nums = [1, 2, 3]
for num in nums {
print(num)
return
}
}
▶foreach는 return을 만난다는 건 전달한 클로저를 종료한다는 의미이다. 따라서 아래 출력값은 1, 2, 3이다. (1 전달이 끝나면 1 종료하고 2 전달함. 2전달 끝나면 2전달 종료하고 3전달 하는 식)
func printForEach() {
let nums = [1, 2, 3]
nums.forEach {
print($0)
return
}
}
▶for-in은 continue, break 사용할 수 있고 foreach는 continue, break 사용할 수 없다.
for num in nums {
break
continue
}
nums.forEach {
break // error!
continue // error!
}
References
https://babbab2.tistory.com/95
https://developer.apple.com/documentation/realitykit/entity/childcollection/foreach(_:)/
'SeSAC > 수업정리' 카테고리의 다른 글
074_MVVM+DiffableDataSource(숫자입력, 검색이미지) (0) | 2022.10.21 |
---|---|
072_UICollectionLayoutListConfiguration(테이블뷰스타일 컬렉션뷰) (0) | 2022.10.18 |
017_Property (0) | 2022.07.26 |
Optional, Function(2022-07-07 수업4) (0) | 2022.07.08 |
AppDelegate & SceneDelegate, Dark Mode(2022-07-06 수업3) (0) | 2022.07.08 |