본문 바로가기
Swift

[Swift] popLast() vs removeLast()

by thoonk: 2021. 5. 11.

배열의 마지막 요소를 제거하는 2가지 방법에 관한 내용을 기록합니다. 

 

배열의 마지막 요소를 제거하고 값을 리턴하는 popLast()와 removeLast()가 있습니다.

Swift를 사용하여 PS를 하다가 popLast()와 removeLast()의 차이점이 궁금해서 찾아봤습니다.

 

removeLast()는 배열의 마지막 요소를 제거히고 리턴합니다.

popLast() 또한 배열의 마지막 요소를 제거하고 리턴합니다.

하지만 popLast()의 리턴 값이 아래의 그림처럼 옵셔널인 것을 확인할 수 있었습니다.

 

코드를 통해 직접 실행하여 비교한 결과, 

빈 배열에 removeLast()를 실행하면 컴파일 에러가 발생합니다. 

반면에, 빈 배열에 popLast()를 실행하면 nil이 리턴됩니다.

var nums = [1, 2]
let a = nums.removeLast()
let b = nums.removeLast()
let c = nums.popLast()
print(a, b, c) // 2, 1, nil

 

결론은 상황에 따라 빈 배열인지 확인하고 removeLast()를 사용하거나

빈 배열일 때 popLast()를 사용하여 nil 값으로 예외를 처리하면 되겠습니다. 

 

부족한 점 피드백해주시면 감사하겠습니다👍

 

참고: 

www.hackingwithswift.com/example-code/language/how-to-remove-the-first-or-last-item-from-an-array

developer.apple.com/documentation/swift/array/2885764-removelast

developer.apple.com/documentation/swift/array/1539777-poplast

'Swift' 카테고리의 다른 글

[Swift] Optional  (0) 2021.05.22
[Swift] ARC (1)  (0) 2021.05.12
[Swift] Instance, Static, Class Method  (0) 2021.05.08
[Swift] 구조체와 클래스  (0) 2021.05.06
[Swift] flatMap & compactMap  (0) 2021.01.23

댓글