私はテーブルビューにデータを追加するために使用することができる2つのNSTableView
が含まれているクラスNSViewController
、およびNSPageController
を、持っています。 reloadData()
からNSPageController
に電話をかけて、NSViewController
のテーブルビューを更新するにはどうすればよいですか?別のクラスからreloaddata()を呼び出す方法は?
更新:
私はすでにデリゲートでこれを解決しようとしたと私はすでにObjective-Cでこれを行っているが、迅速に、私は完全に失われた感じ。
私のPageControllerではのtableViewを更新する必要があること、のViewControllerを通知する必要があります。
class ViewController: NSViewController, PageControllerDelegate {
...
と
func updateTableView() {
self.tableView.reloadData()
}
:だから私は、私は次の行を追加したテーブルビューを保持している私のViewControllerに私のPageControllerでの
protocol PageControllerDelegate {
func updateTableView()
}
と
weak var delegate: PageControllerDelegate?
をこのコードを追加しました
Xcode gi私は次のエラーをVES:
- 「弱い」唯一のクラスとクラスが結合したプロトコルタイプではなく、「PageControllerDelegate」
- タイプとプロパティ「デリゲート」にも適用することができる「PageControllerDelegate?」タイプ 'NSPageControllerDelegate?'のプロパティをオーバーライドすることはできません。 (別名「オプション」)
通知?参照とメソッド呼び出し? KVO?ソースコードなしで具体的なアドバイスをするのは少し難しいです。 – Ssswift