如何在Swift中为客户提供对数组的读取权限?

时间:2018-07-27 14:27:33

标签: 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)
     ...
}

问题:是否有更好的方法可以使客户机对阵列进行读取访问?

0 个答案:

没有答案