12
Swift中Array的removeLast()和popLast()方法有什么区别?他们正在做同样的事情,删除并返回数组的最后一个元素。有人能告诉我什么时候使用什么吗?Swift中Array的removeLast()和popLast()方法有什么区别?
Swift中Array的removeLast()和popLast()方法有什么区别?他们正在做同样的事情,删除并返回数组的最后一个元素。有人能告诉我什么时候使用什么吗?Swift中Array的removeLast()和popLast()方法有什么区别?
这两种方法都是从数组符合的AnyRandomAccessCollection
。
popLast
如果集合为空,则返回nil
。
removeLast
如果集合为空,则会崩溃。它也有一个可舍弃的结果。
谢谢@rmaddy – Raju
很高兴帮助。请记住,我通过做任何开发人员应该能够做到的事情来回答你的问题 - 我阅读了这两种方法的文档。 – rmaddy
不完全 - 'Array'不符合'AnyRandomAccessCollection',因为这是一个类型擦除包装,而不是协议。 'removeLast'是['RangeReplaceableCollection'的一个默认实现,当它也是'BidirectionalCollection']时(https://github.com/apple/swift/blob/master/stdlib/public/core/RangeReplaceableCollection.swift.gyb# L983)(这是一个'Array')和'popLast' [由'Array'直接定义](https://github.com/apple/swift/blob/master/stdlib/public/core/Arrays.swift。 GYB#L2237)。 – Hamish