Swift version: 5.6
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: popLast()
and 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 first1
:
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.
SPONSORED From March 20th to 26th, you can join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 8.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.