Closed 5minho closed 6 years ago
extension Array 를 이용해서 Array index out of range error 없이 안전하게 배열에 접근하기
extension Array {
subscript (safe index: Int) -> Element? {
return indices ~= index ? self[index] : nil
}
}
guard var cachedDreams = cacheManager.cachedDreams[safe: yearIndex]?[safe: fromMonth] else {
return
}
if cachedDreams.isEmpty == false {
self.dreams = cachedDreams
return
}
indices 는 iOS 9 부터 사용가능 하므로 iOS 8 이하는 startIndex, endIndex를 이용해야 한다고 함
return startIndex <= index && index < endIndex ? self[index] : nil
return 0 <= index && index < self.count ? self[index] : nil
year -> 0 ~ 130 month -> 1 ~ 13
이 아닐때 예외 처리 해야함