Swift version: 5.0
Arrays have built-in methods for removing the first or last items, but there’s a subtle difference between them.
First, there are two ways of removing the last item:
removeLast(). Both remove the last item from the array, but
popLast() returns an optional – if the array was empty, you get back nil. If you call
removeLast() on an empty array, your app crashes.
So, in this example
last1 will contain 5 and
last2 will contain 4:
var numbers = [1, 2, 3, 4, 5] let last1 = numbers.popLast() let last2 = numbers.removeLast()
As for removing items from the start of the array, there’s only one method:
removeFirst(). This, like
removeLast(), will crash your app if called when the array is empty.
So, continuing the above example, this will put 1 into
let first1 = numbers.removeFirst()
There is no
popFirst() because it’s an expensive operation and the developers want you to think twice – each time you remove an item from the front the rest of the items have to move down, so trying to use
popFirst() in a loop would be inefficient.
Available from iOS 8.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.