bir tamamlama bloğu kullanılarak bir asenkron erişimi olur.
Bu örnek cihazın belge dizinine Google logosunu kaydeder. (IOS 5+, OSX 10.7+) NSURLSession iOS 7 tanıtıldı
NSString *documentDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSString *filePath = [documentDir stringByAppendingPathComponent:@"GoogleLogo.png"];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.com/images/srpr/logo11w.png"]];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue currentQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if (error) {
NSLog(@"Download Error:%@",error.description);
}
if (data) {
[data writeToFile:filePath atomically:YES];
NSLog(@"File is saved to %@",filePath);
}
}];
Sadece merak, bu engelleme olup olmadığını:
bu makalelerin bir okuma var mı? Bunun bir blok olduğunu varsayardım. – schystz
@schystz Eğer bloke ederek senkronize ediyorsanız, o zaman evet. – carlossless
Benzer şekilde, bir kişi de ilgilenebilir '+ [NSString stringWithContentsOfURL: kodlama: hata:]' – Zmaster