दिलचस्प पोस्ट
पांडा डेटाफ्रेम में कॉलम का चयन करना डिज्स्स्ट्रा के एल्गोरिथम का उपयोग करने वाले नकारात्मक भार कस्टम पैकेज स्रोतों का उपयोग करने के लिए TFS2015 Build (Build.vnext) और NuGet पैकेज को कैसे प्राप्त करें रूबी 1.9: मैं कैसे ठीक से और डाउनकेड multibyte तार कर सकता हूँ? आईई 10 + 11: कैल्क के साथ सीएसएस बदलाव () काम नहीं करते मशीनीज और जावास्क्रिप्ट लिनक में संयोजन जेनरेटर TypeError: p.easing फ़ंक्शन नहीं है स्रोत कोड में एथ के लिए उपयोग किए जाने वाले पासवर्ड को संभालना htaccess पुनर्लेखन रिश्तेदार पथ टूटता है एंड्रॉइड स्टूडियो में इम्यूलेटर प्रारंभ नहीं होता है Android पर गुरुत्वाकर्षण और लेआउट के बीच का अंतर एसक्यूएल आदेश विशिष्ट क्रम में कई मूल्यों से? प्रिंट फ़ंक्शन के लिए कॉमा में क्या समाप्त हो रहा है? PHPMailer AddAddress ()

अतुल्यकालिक यूआरएल अनुरोध कैसे भेजें?

मैं जानना चाहूंगा कि मुझे एक वापसी मूल्य 1 या 0 मिलता है …. वापस यूआरएल अनुरोध से एसिंक्रोनस रूप से

वर्तमान में मैं इसे इस तरीके से करता हूं:

NSString *UTCString = [NSString stringWithFormat:@"http://web.blah.net/question/CheckQuestions?utc=%0.f",[lastUTCDate timeIntervalSince1970]]; NSLog(@"UTC String %@",UTCString); NSURL *updateDataURL = [NSURL URLWithString:UTCString]; NSString *checkValue = [NSString stringWithContentsOfURL:updateDataURL encoding:NSASCIIStringEncoding error:Nil]; NSLog(@"check Value %@",checkValue); 

यह काम करता है, हालांकि यह मेरे मुख्य थ्रेड को अवरुद्ध कर रहा है जब तक कि मुझे यूआरएल से उत्तर नहीं मिलता, मैं इसे कैसे सेट करूँ, तो यह मुख्य थ्रेड के बजाय किसी दूसरे धागे में करेगी?

संपादित करें: जवाब मैं इस के साथ अपने कार्य को समाप्त करने का अंत, यह अच्छी तरह से काम करता है 🙂

 [self performSelectorInBackground:@selector(shouldCheckForUpdate) withObject:nil]; 

वेब के समाधान से एकत्रित समाधान "अतुल्यकालिक यूआरएल अनुरोध कैसे भेजें?"

आप NSURLConnection वर्ग का उपयोग कर सकते हैं

 NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]]; [[[NSURLConnection alloc] initWithRequest:request delegate:self] autorelease]; 

और अपने प्रतिनिधि तरीकों का उपयोग करते हुए अपनी प्रतिक्रिया और त्रुटियों को संभालना।

 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error - (void)connectionDidFinishLoading:(NSURLConnection *)connection 

आप NSURLConnection के कार्यान्वयन को प्राप्त कर सकते हैं

  • ऐप्पल डॉक्स: NSURL कनेक्शन का उपयोग करना
  • आईओएस NSURLConnection का उदाहरण कैसे उपयोग करें I

संपादित करें: यद्यपि NSURLConnection सेब द्वारा प्रदान किया जाता है, यूआरएल के अनुरोध को रखने का सुझाव दिया जाता है। लेकिन मुझे AFNetworking लाइब्रेरी को बहुत समय की बचत, कार्यान्वित करने में आसान और तीसरे पक्ष के कार्यान्वयन के रूप में अभी तक सरल पाया गया। आपको इसके लिए प्रयास करना चाहिए।

इसे इस्तेमाल करे :

ज:

 NSMutableData *responseData; 

मीटर:

 - (void)load { NSURL *myURL = [NSURL URLWithString:@"http://www.example.com"]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:myURL cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60]; [[NSURLConnection alloc] initWithRequest:request delegate:self]; } - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { responseData = [[NSMutableData alloc] init]; } - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { [responseData appendData:data]; } - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { [responseData release]; [connection release]; [textView setString:@"Unable to fetch data"]; } - (void)connectionDidFinishLoading:(NSURLConnection *)connection { NSLog(@"Succeeded! Received %d bytes of data",[responseData length]); NSString *txt = [[[NSString alloc] initWithData:responseData encoding: NSASCIIStringEncoding] autorelease]; } 

NSURLConnection उपयोग करें और अपना अनुरोध करें। उसके बाद आप NSURLConnection के तरीकों के साथ तुल्यकालिक या अतुल्यकालिक कनेक्शन शुरू कर सकते हैं:

डेटा को सिंक्रोनस रूप से लोड करना

 + sendSynchronousRequest:returningResponse:error: 

डेटा को एसिंक्रोनस लोड करना

 + connectionWithRequest:delegate: – initWithRequest:delegate: – initWithRequest:delegate:startImmediately: – start 

ऐप्पल डेवलपर एपीआई संदर्भ में NSURLConnection वर्ग की जाँच करें

https://gist.github.com/knmshk/3027474 से बेशर्मी कॉपी करें सभी क्रेडिट https://gist.github.com/knmshk पर जाएं ।

 xmlData = [[NSMutableData alloc] init]; NSURL *url = [NSURL URLWithString: @"http://forrums.bignerdranch.com/smartfeed.php?" @"limit=NO_LIMIT&count_limit20&sort_by=standard&" @"feed_type=RSS2.0&feed_style=COMPACT"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; //connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES]; NSOperationQueue *queue = [[NSOperationQueue alloc]init]; [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){ if (error) { xmlData = nil; NSLog(@"error:%@", error.localizedDescription); } [xmlData appendData:data]; }]; 

आईओएस XCode प्रलेखन में एक उदाहरण है, जो कि LazyTableImages नामक है। यह एक अतुल्यकालिक यूआरएल के साथ-साथ स्क्रॉलिंग बंद होने के बाद स्क्रीन पर प्रदर्शित UITableView सेल में एसिंक्रोनस इमेज लोड करता है। प्रोटोकॉल का उत्कृष्ट उदाहरण, एसिंक्रोनस डेटा हैंडलिंग आदि।