如何从单例异步请求中收到响应?

时间:2009-05-25 08:25:22

标签: iphone cocoa cocoa-touch singleton

以下是iPhone应用程序。

我想使用单例来处理异步URL请求。我已经涵盖了这一点,但是什么是最好的编码实践方式告诉单身人员在收到响应时将响应发送到哪里?我需要将响应返回到最初称为单例的类。

我是否可以将指向调用类的指针传递给单例,以及在收到响应时调用的委托方法(调用类)?

由于

1 个答案:

答案 0 :(得分:2)

首先,单身人士通常是一个糟糕的设计,这看起来就像你不需要一个单身人士的情况。请参阅MiškoHevery的Singletons are Pathological Liars和他博客上的其他文章。 (我希望这看起来并不傲慢,摆脱单身可能会让你的设计更好,编码也更容易。)

其次,如果我正确地理解了你的问题,你可以传递单例一个在单例接收数据后应该被调用的选择器。单例类中的API可能如下所示:

- (void) download: (NSURLRequest*) request andTell: (id) delegate to: (SEL) doThis;

然后,在完成加载数据后,您将执行以下操作:

[delegate performSelector:doThis withObject:receivedData];

这是否回答了这个问题?