'u, Apple tarafından sağlanan yeni ve zarif bir API olduğu için şimdi bir gün NSURLConnection
'dan kaçınarak kullanmaya başladım. Önceden, arka planda yürütmek için NSURLRequest
aramasını GCD
bloğuna koydum. İşte geçmişte yapmak için kullanılan nasıl: ArtıkHTTP veri görevi için NSURLSession (NSURLSessionDataTask) arka plan iş parçacığında çalışır mı yoksa sıraya mı ihtiyacımız var?
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSURLRequest *request = [NSURLRequest requestWithURL:
[NSURL URLWithString:@"www.stackoverflow.com"]];
NSURLResponse *response;
NSError *error;
NSData *data = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:&error];
if (error) {
// handle error
return;
}
dispatch_async(dispatch_get_main_queue(), ^{
// do something with the data
});
});
, burada ben nasıl kullanılacağı NSURLSession
:
- (void)viewDidLoad
{
[super viewDidLoad];
/*-----------------*
NSURLSession
*-----------------*/
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithURL:
[NSURL URLWithString:@"https://itunes.apple.com/search?term=apple&media=software"]
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
NSDictionary *json = [NSJSONSerialization
JSONObjectWithData:data options:0 error:nil];
NSLog(@"%@", json);
}];
}
, ricam arka plan iş parçacığı kendisi ya ben idam edilecek Kendi mekanizmamı NSURLRequest
durumunda yaptığım gibi sağlamanız gerekecek mi?
Lütfen bilgilerinizi paylaşın. Şimdiden teşekkürler !!!
kadarıyla ben hiçbir şey bildiğimiz gibi arka planda çalışır !!: Örneğin, bu yansıtmak için sonuçların listesini almak ve UI güncelleştirmek için gittiğini düşünelim, gibi bir şey görebilirsiniz !! –
@ T_77 Arka plan iş parçacığı üzerinde kod çalıştıran çok sayıda Kakao yöntemi vardır (bununla birlikte). – Rob
Lütfen bana @Rob –