我想從我的應用程序的模型內部深處調試日誌消息(NSStrings)到UI中的一個面板(每秒鐘2或3行),以呈現適量的調試日誌消息(NSStrings)。我預計在開發過程中主要需要這些,儘管我可能會將「控制檯」留在生產環境中。我試圖保持一個乾淨的MVC模式,因爲我不知道這個應用程序究竟會如何變化(這是一個側面項目模擬引擎,沒有任何商業用途。)正確使用NSNotificationCenter?
我已經實現了一種寫入日誌消息發送到我的NSWindowController子類中的視圖,方法是將一行添加到NSTextView。它工作正常。但是,我不希望我的模型 - 消息的來源 - 知道有關WindowController的任何信息,原因很明顯。所以:
NSNotificationCenter API似乎符合法案。可以?我的替代方案是一系列的日誌機制,將消息傳遞給模型的日誌方法(模型 - >文檔 - >窗口控制器 - >視圖),這很雜亂,或者讓WC充當模型日誌方法的代表(使WC採取一個簡單的協議。)再一次,這似乎有點令人費解。 KVO似乎不適合這種情況,因爲它不是一些模型狀態屬性正在改變。我錯過了什麼?
我應該期待通過每秒鐘通過多次通知來關閉NSNotificationCenter而導致重大性能下降嗎?
編輯:我應該說,它確實有效,但是這是對的嗎?
謝謝
NSLog影響性能。不要計劃每隔幾秒記錄一次。只根據需要進行記錄。 – Moshe 2012-07-30 17:41:49
嗨@Moshe這不是關於NSLog,但謝謝。 – 2012-07-30 17:53:26