From 46642320901ebaaedae5618e423ebfe70f316351 Mon Sep 17 00:00:00 2001 From: matt handler Date: Tue, 26 Apr 2011 17:18:49 -0400 Subject: updated topics dynamic loading, added fetcher class, storing in database and not overwriting is good, need to add info to photo view controller and also sort results --- Classes/Fetcher.m | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Classes/Fetcher.m (limited to 'Classes/Fetcher.m') diff --git a/Classes/Fetcher.m b/Classes/Fetcher.m new file mode 100644 index 0000000..3fe162f --- /dev/null +++ b/Classes/Fetcher.m @@ -0,0 +1,61 @@ +// +// Fetcher.m +// PicCast +// +// Created by Matthew Handler on 4/26/11. +// Copyright 2011 Earl Industries. All rights reserved. +// + +#import "Fetcher.h" +#import "PicCastAppDelegate.h" + +@implementation Fetcher + +@synthesize delegate; + ++ (Fetcher *) initWithString:(NSString *)string andDelegate:(id)d { + Fetcher *fetcher = [[[Fetcher alloc] init] autorelease]; + fetcher.delegate = d; + [fetcher setUrlAndConnect:string]; + return fetcher; +} + +- (Fetcher *) init { + receivedData = [[NSMutableData data] retain]; + return self; +} + +- (void) setUrlAndConnect:(NSString *)string { + + NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:string] + cachePolicy:NSURLRequestUseProtocolCachePolicy + timeoutInterval:30.0]; + if ([NSURLConnection connectionWithRequest:theRequest delegate:self]) { + [receivedData setLength:0]; + } else { + [PicCastAppDelegate prompt:@"Error" withMessage:@"No internet connection" andButtonTitle:@"shucks" withDelegate:self]; + } +} + +- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { + [receivedData setLength:0]; +} + +- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { + [receivedData appendData:data]; +} + +- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { + [delegate connection:connection failedWithError:error]; +} + +- (void)connectionDidFinishLoading:(NSURLConnection *)connection { + [delegate connection:connection finishedWithData:receivedData]; +} + +- (void) dealloc { + [receivedData release]; + [super dealloc]; +} + +@end -- cgit v1.2.3