gpt4 book ai didi

objective-c - ASIHttpRequest 将来自 ASync 请求的响应发送回 View Controller

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:51:52 25 4
gpt4 key购买 nike

在我的应用程序中,我有 ViewControllers->Business Logic Layer(BLL)->Data Access Layer(DAL)->(HttpApi) OR (SQLiteApi)

在我的 HttpApi 类中,我将 ASIHttpRequest 用于异步请求。

请求最初来自 ViewController,并一直向上通过上述层。

我希望能够将异步请求的结果“注入(inject)”回这个链中,以便它可以一直返回到 ViewController 并在途中由中间层处理。

我感觉我需要的是委托(delegate),但我不确定要实现什么。

编辑:我想我可能需要开发一个从 HTTPAPI 一直返回到 View Controller 的回调链。我需要使用委托(delegate)。

因此, View Controller 符合 BLL 委托(delegate),BLL 符合 DAL 委托(delegate)等等。

最佳答案

我会在收到使用通知的响应后广播请求

[[NSNotificationCenter defaultCenter] postNotificationName:@"requestFinished" object:request];

然后你的任何类都可以按如下方式收听:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(requestFinished:) name:@"requestFinished" object:nil];

- (void)requestFinished:(NSNotification*)notification {
ASIHTTPRequest *request = (ASIHTTPRequest*)[notification object];

if ([[[request URL] absoluteString] isEqualToString:expectedURL]) {
NSString *responseString = [request responseString];
NSLog(@"RESPONSE %@", responseString);
}
}

关于objective-c - ASIHttpRequest 将来自 ASync 请求的响应发送回 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6676480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com