gpt4 book ai didi

swift - Swift 中数组作为属性的最佳实践

转载 作者:行者123 更新时间:2023-11-28 09:06:14 24 4
gpt4 key购买 nike

我在 Swift 中有一个模型类,其主要目的是包含一组自定义对象,但也有其他方法/属性等。

public class Budget: NSObject, NSCoding {
var lineItems : [LineItem] = []

// Other methods

// Other properties

}

据我所知,最好不要让属性公开设置,但我希望它是可测试的,所以 lineItems 需要公开获取。

阅读文档,我可以这样做:

 private(set) public var lineItems : [LineItem] = []

但后来我不得不写很多样板代码来重新创建数组方法,例如 insert、removeAtIndex 等。

此处的最佳做法是什么?目前,我不需要在插入/删除项目时做任何其他事情,但我想我将来可能需要进行验证或类似操作,但即便如此,编写仅重新创建数组方法的代码似乎是多余的.

让 lineItems 公开获取和设置会更好吗?他们的情况是否有意义?

谢谢!

最佳答案

Swift 的 Array 是一个(不可变的)值类型,这意味着

var a = ["object"]
var b = [String]()
b.append("object")
b == a // true

从这个角度来看,允许修改数组但不允许设置它是没有意义的 - 修改基本上是创建新数组并将其分配给变量。

关于swift - Swift 中数组作为属性的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30663547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com