如何从它创建的对象中引用控制器?

时间:2011-09-04 13:48:03

标签: iphone objective-c ios multithreading asynchronous

所以我有一个PanelController,它是一个NSWindowController,它实例化一个名为FileUploader的对象。但是在FileUploader中,我希望能够更新Panel上的一些文本,告知用户到目前为止所取得的进展。但我不知道如何引用PanelController,因为我无法实例化一个新的。

我是否应该使用ApplicationDelegate作为中间人,如果是这样,我该如何引用它?如果是这样,我是否需要ApplicationDelegate来实例化PanelController和FileUploader,但是我仍然不明白如何引用ApplicationDelegate。

2 个答案:

答案 0 :(得分:3)

Apple建议在此类情况下使用代理

以下是关于如何成为代表的一些SO答案:

  1. How Do I Create Delegates in Obj-C
  2. How Does Delegate Work in Obj-C

答案 1 :(得分:3)

还考虑使用块,这是另一种更现代的苹果回调方法。 Apple在他们的新API中越来越多地使用它。

这是关于更新UI并使其异步的具体SO:

GCD, Threads, Program Flow and UI Updating

这是另一篇关于块&的SO文章代表作为回调

How to simplify callback logic with a Block?