xcode - 在 Swift 中具有 KVC 属性的 NSView

标签 xcode swift cocoa kvc

我有一个自定义的 NSView 类定义为:

class MyView: NSView
{
    var someText: NSString

    override func didChangeValueForKey(key: String)
    {
        println( key )

        super.didChangeValueForKey( key )
    }

    // other stuff
}

我希望能够从此类外部更改 someText 的值,并让 didChangeValueForKey 注意到 someText 已更改,这样我就可以,例如,将 View 的 needsDisplay 设置为 true 并执行一些其他工作。

我该怎么做?

最佳答案

您确定为此需要 KVC 吗? KVC 在 Swift 中运行良好,但还有更简单的方法:

var SomeText: NSString {
    didSet {
        // do some work every time SomeText is set
    }
}

关于xcode - 在 Swift 中具有 KVC 属性的 NSView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32299977/

相关文章:

ios - 如何快速制作可展开和可折叠的 UITableView(父单元格和子单元格)?

ios - xCode 7 - dyld`dyld_fatal_error :

swift - 有类似 "reversible dictionary"的东西吗?

ios - 在 App delegate swift 中获取 UIVIewController 的名称

objective-c - 自定义 View 中的 mouseDown 事件不显示正确的单击坐标

objective-c - 在 macOS 10.9+ 上删除 plist 文件不会重置应用程序

IOS:验证一个空的 NSHomeDirectory

iphone - ios如何将json数据调用保存为文件

ios - 如何让你的推送通知打开某个 View Controller ?

cocoa - appkit 应用程序中的自动释放池