我不能說這是一個錯誤還是預期的行爲。我找到了一種方法來訪問NSTabView的多個選項卡中的共享用戶默認值;這裏對我來說是什麼在起作用:
在NSTabViewController子類補充一點:
override func viewWillAppear() {
super.viewWillAppear()
// make me the delegate of the Tab View
tabView.delegate = self
// give the initially selected tab a reference to the User Defaults
tabView.selectedTabViewItem?.viewController?.representedObject = UserDefaults.standard
}
override func tabView(_ tabView: NSTabView, didSelect tabViewItem: NSTabViewItem?) {
super.tabView(tabView, didSelect: tabViewItem)
// give the newly selected tab a reference to the User Defaults
tabViewItem?.viewController?.representedObject = UserDefaults.standard
}
然後在IB的綁定,請你在爲「綁定」選項卡,並設置「模式鍵路徑「代表Object.your_default_key。如果需要,請適當設置「值轉換器」。