我有一些Objective-C类,带有实现和头文件。一个类,它是AppDelegate
的子类,有一个类似于下面的方法,使用 API 调用来获取数据:
@implementation API
- (NSMutableData *)set:(NSString *) API
{
NSURLRequest *request = [NSURLRequest requestWithURL:
[NSURL URLWithString:GETString]];
self.connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
}
我还有一些类,它们是UIViewController
的子类,我从下面调用:
- (void)viewWillAppear:(BOOL)animated
{
API *theInstance = [[API alloc] init];
[theInstance set:@"&get=different&call=getAPIMethods"];
}
现在我想从UIViewController
扩展类方法获取- (void)connectionDidFinishLoading:(NSURLConnection *)connection
的响应数据- (void)viewDidAppear:(BOOL)animated
我怎样才能获得NSMutableData
的回报?
NSURLConnection
委托的对象需要采用NSURLConnectionDelegate
协议。委托对象需要实现协议方法connection:didReceiveData:
才能保存接收到的数据。 连接完成后,将调用connectionDidFinishLoading:
。 此时,您需要与UIViewController
数据进行通信。最简单的方法是发送NSNotification
。