suffix는 Swift의 컬렉션에서 뒤에서부터 원하는 요소의 개수를 추출할 때 사용하는 메서드이다. 즉, 컬렉션의 끝부분에서 원하는 수만큼의 요소를 반환한다.
공식 문서에서의 설명:
"Returns a subsequence, up to the given maximum length, containing the final elements of the collection."
suffix(_:)가 컬렉션의 끝에서부터 주어진 길이만큼의 부분 시퀀스를 반환하며, 특이하게도 만약 주어진 길이가 컬렉션의 전체 크기보다 크다면, 에러를 뱉거나 문제를 일으키지않고 전체 컬렉션을 반환한다.
let numbers = [1, 2, 3, 4, 5]
// 주어진 길이가 배열의 크기보다 작은 경우
let lastTwo = numbers.suffix(2)
print(lastTwo) // 출력: [4, 5]
// 주어진 길이가 배열의 전체 크기보다 큰 경우
let allNumbers = numbers.suffix(10)
print(allNumbers) // 출력: [1, 2, 3, 4, 5]
가장 끝에있는 요소란, 이름이나 크기별로 sort를 하는 등, 그 생성순서가 정해진 방식이 아니라면 가장 최근에 만들어진 요소라고도 볼수있다. 이러한 특징때문에 예를 들어 최신 N개의 기록을 보여주는 UI, 로그 시스템, 데이터 분석에서 최근 데이터를 추출하는 등의 작업에서 유용하게 사용될 수 있다.