所以我有一个PanelController,它是一个NSWindowController,它实例化一个名为FileUploader的对象。但是在FileUploader中,我希望能够更新Panel上的一些文本,告知用户到目前为止所取得的进展。但我不知道如何引用PanelController,因为我无法实例化一个新的。
我是否应该使用ApplicationDelegate作为中间人,如果是这样,我该如何引用它?如果是这样,我是否需要ApplicationDelegate来实例化PanelController和FileUploader,但是我仍然不明白如何引用ApplicationDelegate。
答案 0 :(得分:3)
Apple建议在此类情况下使用代理。
以下是关于如何成为代表的一些SO答案:
答案 1 :(得分:3)
还考虑使用块,这是另一种更现代的苹果回调方法。 Apple在他们的新API中越来越多地使用它。
这是关于更新UI并使其异步的具体SO:
GCD, Threads, Program Flow and UI Updating
这是另一篇关于块&的SO文章代表作为回调