我有一个使用 ASIHTTPRequest 库启动 HTTP 请求的方法 (getAllTeams:)。
NSURL *httpURL = [[[NSURL alloc] initWithString:@"/api/teams" relativeToURL:webServiceURL] autorelease];
ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:httpURL] autorelease];
[request setDelegate:self];
[request startAsynchronous];
我想做的是调用[WebService getAllTeams]
并让它在 NSArray 中返回结果。目前,getAllTeams 不返回任何内容,因为 HTTP 响应是在 requestFinished: 方法中评估的。
理想情况下,我希望能够调用[WebService getAllTeams]
,等待响应,然后将其转储到 NSArray 中。我不想创建属性,因为这是一次性类(意味着它不存储任何值,只是检索值),并且多个方法将使用相同的 requestFinished (它们都返回一个数组)。
我已经阅读了一些关于代表和 NSNotifications 的内容,但我不确定它们中的任何一个是否是最好的方法。我找到了这个关于通过将选择器作为参数传递来实现回调的片段,但它没有成功(因为 requestFinished 独立触发)。
有什么建议么?即使只是指出正确的方向,我也会很感激。
NSArray *teams = [[WebService alloc] getAllTeams];
(目前不起作用,因为 getAllTeams 不返回任何内容,但 requestFinished 会。我想获取 requestFinished 的结果并将其传递回 getAllTeams :)