swift - 如何让客户读取 Swift 中的数组?
问题描述
一个类包含一个私有数组
private var _members = [Member]()
如何授予客户对该阵列的读取权限?
客户端应该能够访问成员,但不能修改数组。以下解决方案可能太贵了
var members : [Member] { return _members } // too expensive?
它太昂贵了,因为如果我做对了,每次客户端访问一个元素时它都会返回整个数组 ( theObject.members[i]
)
我目前的解决方案如下:
var membersCount : Int { return _members.count }
func memberFrom(no:Int) -> Member { return _members[no] }
因此,客户端可以按如下方式遍历成员:
for i in 0..<theObject.membersCount {
let member = theObject.memberFrom(no:i)
...
}
问题:有没有更好的方法让客户端读取阵列?
解决方案
推荐阅读
- javascript - 如何确定直接应用于元素的所有 CSS 样式?
- c# - 将数据传递到 Xamarin 中的 EventHub 时出现套接字异常
- bootstrap-4 - Bootstrap 两行网格问题(第一行小于第二行)
- java - Android Studio 构建错误:无法加载类
- reactjs - 预计 spyOn 函数将被称为 Jest
- c# - 在 Unity 中存储颜色数组的最佳方式是什么?
- javascript - 计算属性中的 Vue.js 奇怪行为
- c# - c# WPF .NET Core - 如何为父母之外的控件设置动画?
- python - 3D重建的步骤?
- typescript - 使用 Array.map 不会为未定义的属性提供 TypeScript 错误