From b4ee64c7eee65d969fd5c5191478dcec8f059dec Mon Sep 17 00:00:00 2001 From: Jeffrey McNally-Dawes Date: Thu, 25 Apr 2019 15:51:07 -0600 Subject: [PATCH] Add getOrNil extension to Array This commit adds a convenience method for avoiding index of out bounds runtime errors. If the index is invalid, you will safely be returned nil. --- Extended/Classes/Array.swift | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Extended/Classes/Array.swift b/Extended/Classes/Array.swift index fdd15c9..daa6c45 100644 --- a/Extended/Classes/Array.swift +++ b/Extended/Classes/Array.swift @@ -30,4 +30,15 @@ extension Array { } return array } + + + /// Retrieves the element at the given index or nil if the index is invalid + func getOrNil(_ index: Int) -> Element? { + if 0 ..< self.count ~= index { + return self[index] + } else { + return nil + } + } + }