我正在尝试在我的类 ChooserListVC 中为“列表”添加一个属性观察器
这些是我想要跟踪的 ChooserSaves 中的变量。
class ChooserSaves: UIDocument {
var savedListObject : SavedList?
var listName : String = ""
var chooserItems : [String] = []
}
我不确定如何在我正在实现它的类中设置它。
class ChooserListVC: UIViewController, UITableViewDelegate, UITableViewDataSource,UITextFieldDelegate{
var list : ChooserSaves!
我试着做这样的事情:
var list : ChooserSaves!{
didSet{
if chooserItems.count > 0{
println("didset greater than 1")
}
else{
println("didset less than 1")
}
}
}
但这只在 segue 分配列表时有效一次。我怎样才能做到每次在其他代码位中更改 list.chooserItems
时,它都会触发正确的行?
最佳答案
最简单的解决方案是将您想要观察的属性设置为私有(private),并创建公开可用的方法来操作您的数组。
...
private var chooserItems: [String] = []
...
func add(chooserItem: String){
// your tracking logic here
// update your private array
self.chooserItems.append(chooserItem)
...
}
...
如果您需要真正的观察,我建议您查看这个答案 Is key-value observation (KVO) available in Swift?
关于ios - Swift 的对象属性观察器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32060152/