gpt4 book ai didi

xcode - 数据模型更改时如何更新 NSCollectionViewItem?

转载 作者:行者123 更新时间:2023-11-28 11:17:11 25 4
gpt4 key购买 nike

我有一个绑定(bind)到 NSCollectionView 的 NSArrayController。我的数据模型是一个类 Person。 Inside Person 是一个计时器,每秒都会更改 age 属性。在我的 NSCollectionViewItem 中,我有一个绑定(bind)到 representedObject.age 的 NSLabel。

当应用程序启动时,标签将显示 age 的初始值,但是当值发生变化时它不会更新。我该怎么做?

import Foundation

@objc(Person)
public class Person: NSObject
{
public var firstName:String
public var lastName:String
public var age:Int

var timer:NSTimer?

override init()
{
self.firstName = "Max"
self.lastName = "Meier"
self.age = 33
super.init()
self.timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "tick", userInfo: nil, repeats: true)
self.timer?.fire()
}

public func tick()
{
self.age++
println(self.age)
}
}

最佳答案

绑定(bind)建立在键值观察之上。为了使 Swift 中的属性符合 KVO,必须将其标记为 dynamic。因此,将 age 声明为:

dynamic public var age:Int

关于xcode - 数据模型更改时如何更新 NSCollectionViewItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31060775/

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