Swift中Array的removeLast()和popLast()方法有什么区别?

Raj*_*aju 21 arrays swift

Swift中Array的removeLast()和popLast()方法有什么区别?他们正在做同样的事情,删除并返回数组的最后一个元素.谁能告诉我什么时候使用什么?

rma*_*ddy 28

这两种方法是AnyRandomAccessCollectionArray符合的方法.

popLastnil如果集合为空,则返回.

removeLast如果集合为空,则崩溃.它也有可废弃的结果.

  • @rmaddy xcode 中的快速文档对于这两种方法是相同的,如今 Stack Overflow 是许多开发人员解决此类快速问题的第一站,而 R'ing TFM 通常效率较低。我很高兴这个问题和答案在这里,谢谢:) (3认同)

Mik*_*ike 5

popLast() 返回一个可选值,因此可以为 nil;removeLast() 返回最后一个元素,不是可选的,因此如果数组为空,它将崩溃。

如果不使用返回的元素,则需要对 popLast() 使用@discardableResult,而removeLast()则不需要。