我有一個使用AsiHTTPRequest的類。我想打一個方法是這樣的:使用AsiHTTPRequest的方法返回值
-(NSData*)downloadImageFrom: (NSString*)urlString;
{
// Set reponse data to nil for this request in the dictionary
NSMutableData *responseData = [[NSMutableData alloc] init];
[responseDataForUrl setValue:responseData forKey:urlString];
// Make the request
NSURL *url = [NSURL URLWithString:urlString];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[responseDataForUrl setValue:responseData forKey:[request url]];
[request setDelegate:self];
[request startAsynchronous];
// Wait until request is finished (???? Polling ?????)
// while(responsedata = nil) {
// do nothing
// } BAD SOLUTION
return responseData;
}
之後。當responseData準備就緒時,會調用委託方法。比在變量responseData中進行輪詢還有更好的解決方案嗎?
我瞭解代表。那麼,我該如何編寫一個實現這種方法的獨立類?我必須以某種方式返回。 – 2012-02-21 12:20:04
你爲什麼要回來?只需將代表團添加到您的班級。如果您使用異步調用編寫代碼,則必須相應地調整編碼和設計。 – 2012-02-21 12:23:34