我正在為 macOS 開發一個簡單的筆記應用程式。我有一個主頁,其中有一個顯示所有筆記的 NSTableView,當您單擊新筆記按鈕時,會出現一個新視圖,您可以在其中創建新筆記。單擊注釋后,它將新注釋添加到資料庫并應重新加載表視圖資料,但我需要停止當前運行并再次運行程式以查看更改。
我使用這篇文章在 iOS 上實作了相同的效果,但它似乎不適用于 MacOS
那么我該如何適應:
override func viewDidLoad() {
super.viewDidLoad
NotificationCenter.default.addObserver(self, selector: #selector(loadList), name: NSNotification.Name(rawValue: "load"), object: nil)
}
在首頁VC
和行:
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "load"), object: nil)
saveNewNote IBAction 內部可以在 macOS 中作業嗎?您甚至可以在 macOS 應用程式中使用 NotificationCenter 還是僅在 iOS 上?
uj5u.com熱心網友回復:
NSNotificationCenter是 Foundation 框架的一部分,因此它絕對可以在 macOS 上使用。
您應該能夠像在 iOS 上使用它一樣使用它。如果您有一個IBAction被呼叫saveNewNote的方法,則在該方法中,您可以按照您撰寫的方式發送通知。在擁有表的視圖控制器中,像你寫的那樣添加觀察者,然后重新加載表......
如果它不起作用,我們可能需要一些代碼示例來說明您如何在 Mac 應用程式上進行設定,以便更好地了解什么不起作用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/449851.html
上一篇:如何從CKRecord創建本地物件并將其附加到NSTableView資料的陣列
下一篇:如何讀取整個管道
