我想从我的应用程序的模型内部深处调试日志消息(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