我可以做到:

var a = [1,5,7,9,22]
a.count               // 5
a[a.count - 1]        // 22
a[a.endIndex - 1]     // 22

但肯定有更漂亮的方式吗?

推荐答案

更新:Swift 2.0现在包括first:T?last:T?个内置属性.


需要时,您可以通过提供自己的扩展,使内置的Swift API更美观,例如:

extension Array {
    var last: T {
        return self[self.endIndex - 1]
    }
}

现在,您可以通过以下方式访问任何数组上的最后一个元素:

[1,5,7,9,22].last

Swift相关问答推荐

Swift Tree实现中的弱var

为什么在Swift属性Wrapper中需要类型注释?

为什么我的引用类型对象在初始化后有3个强引用?

阴影动画的动画不流畅

格式化单位和度量值.为什么从符号初始化的单位不能产生与静态初始化相同的结果

如何使 onKeyPress 与 TextField 快速配合使用?

(Swift)混淆了函数内 for-in 循环的返回值和循环后(函数内)的返回值)

带有可选字符串作为键路径的 SwiftUI iOS16 表

解码 JSON 时 Swift Struct Decoder 初始化程序错误

在 RealmSwift 中表示范围值?

如何制作进度加载动画?

将基于MyProtocol的泛型函数的参数更改为使用存在的any MyProtocol或some MyProtocol是否会受到惩罚?

带有屏幕参数的 NSWindow 初始化程序在初始化时导致致命错误

ZStack 中的 ProgressView 与 View 的行为不同

如何在 SwiftUI 中正确实现Collection 夹?

通用枚举菜单 SwiftUI

不支持用作符合协议 AnyObject 的具体类型

如何轻松删除领域中的所有对象

如何快速识别字符串中的大写和小写字符?

使用 Swift 以编程方式自定义 UITableViewCell