chciałbym użyć asynchroniczny dostęp za pomocą bloku zakończenia.
W tym przykładzie zapisujemy logo Google w katalogu dokumentów urządzenia. (IOS 5+, OSX 10.7+)
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);
}
}];
prostu zastanawiasz się, czy to blokowanie, czy nie? Zakładam, że ten blokuje. – schystz
@schystz, jeśli przez blokowanie masz na myśli synchroniczne, to tak, jest. – carlossless
Podobnie, może być także zainteresowany '+ [NSString stringWithContentsOfURL: encoding: error:]' – Zmaster