OSX 上の Swift でバインディングを使用して簡単なテスト プログラムを実行しています。NSTableView、NSArrayController、およびモデル クラスを使用して、それらを接続しようとしましたが、成功しませんでした。ビルドはコンパイルされますが、すぐに次のエラーが発生します: Thread 1: EXC_BAD_ACCESS(code=1, address = 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.
}
}
}
クラス「Name」を使用するようにアレイコントローラーをセットアップし、キー「firstName」と「lastName」を追加しました
ストーリーボードは次のとおりです。
Xcode 6 Beta 5 でバインディングをセットアップすることに成功した人はいますか? どんな助けでも大歓迎です!
ありがとう!
編集:
提案されているように、プロパティに「動的」キーワードを追加してバインディングを有効にしようとしましたが、同じエラーが発生し、機能しません。
また、Cocoa の古い Objective-C サポートを使用するために、NSObject から「Name」クラスをサブクラス化しようとしましたが、バインディングはまだ機能しません!