我在OSX上使用
Swift中的绑定来做一个简单的测试程序.
拥有一个NSTableView,NSArrayController和一个模型类,我试图钩住它们
在一起,但没有成功!该构建编译但立即给出此错误:
线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x0)
拥有一个NSTableView,NSArrayController和一个模型类,我试图钩住它们
在一起,但没有成功!该构建编译但立即给出此错误:
线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x0)
代码看起来像这样:
模型类:
import Foundation class Name { var firstName = "Brook" var lastName = "Brooklyn" }
视图控制器:
import Cocoa class ViewController: NSViewController { dynamic var names = [Name]() // serves as the content for Array-Controller override func viewDidLoad() { super.viewDidLoad() // populate array var name1 = Name() var name2 = Name() names.append(name1) names.append(name2) } override var representedObject: AnyObject? { didSet { // Update the view,if already loaded. } }
}
我设置了数组控制器使用我的类“名称”,并添加了键“firstName”和“lastName”
这是故事板:
有没有人在Xcode 6 Beta 5上成功设置绑定?
任何帮助是赞赏!
谢谢!
编辑:
如我所建议的,我尝试将“dynamic”关键字添加到该属性以启用绑定,但它提供相同的错误并且不起作用.
我也尝试从NSObject子类化“Name”类,以便使用Cocoa的旧Objective-C支持,但绑定仍然不起作用!
Beta 5要求您将属性显式设置为动态,以使KVO /绑定正常工作:
dynamic var firstName = "Brook"
有关详细信息,请参阅release notes的动态声明修改器部分.
The dynamic keyword enables KVO,proxying,and other advanced Cocoa features to work reliably with Swift declarations.