관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] for, stride, Range 본문

iOS 기본 (swift)

[iOS - swift] for, stride, Range

jake-kim 2021. 3. 3. 23:57

stride 키워드 주의

  • stride(from:to:by:) to를 포함하지 않음
  • stride(from:through:by) through를 포함
for i in stride(from: 0, to: 5, by: 1) {
    print(i) // 0, 1, 2, 3, 4
}

for i in stride(from: 0, through: 5, by: 1) {
    print(i) // 0, 1, 2, 3, 4, 5
}

// cf) Closed range
for i in 0...5 {
    print(i) // 0, 1, 2, 3, 4, 5
}

Range

  • 제네릭이며 '반개방'상태(A..<B)의 간격을 표현하는 제네릭 구조체
  • Range를 사용할 때 Comparable 프로토콜을 준수하는 타입이면 무엇이든 가능

  • 객체 생성
let rangeInstance = 0.0 ..< 10.0 // Range<Double> 타입
  • 속성
print(rangeInstance) // 0.0..<10.0
print(rangeInstance.contains(1.5)) // true
print(rangeInstance.lowerBound) // 0.0
print(rangeInstance.upperBound) // 10.0

 

Comments