我有自己的班级,应该进行请求和数据处理(解析)。这个类应该在不同的视图控制器中使用。在这个类中,我实现了:
- (void)sendRequest:(NSString *)url;
- (void)requestFinished:(ASIHTTPRequest *)request;
- (void)requestFailed:(ASIHTTPRequest *)request;
- (id)parse:(NSString *)aString;
我创建了一个名为 result 的属性。如果请求到达,则调用 requestFinished。在 requestFinished 中,结果保存在 result 中。我想如果我在 sendRequest 中返回一个值,我会得到结果。但正如我之前提到的 requestFinished 得到结果,所以 sendRequest 总是返回一个 nil 变量,因为那时请求还没有完成。
我该怎么做才能返回结果?我希望这个类可以从不同的视图控制器中使用。所以我的第一个想法是在我的视图控制器中创建一个方法并传递结果是行不通的。
我阅读了有关使用视图控制器作为委托的 ASIHTTPRequest "requestFinished" Back to Originating Method这个线程。但后来我想我必须在视图控制器中实现 requestFinished 和 requestFailed 。在不同的视图控制器中没有重复代码的想法将会消失......
有人可以帮忙吗?