You are on page 1of 3

- (void)sendingRequestForRestaurantDetails

{
for(int i=0;i<[content count];i++){
NSString *selectedId = [content objectAtIndex:i];
//[self sendingRequestForRestaurantDetails];

networkQueue = [[ASINetworkQueue queue] retain];


NSString *url;
url = [baseUrl stringByAppendingFormat:@"restaurantDetails.php?id=
%@",selectedId];
NSURL *finalUrl=[NSURL URLWithString:[url
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
ASIHTTPRequest *request = [[[ASIHTTPRequest alloc]
initWithURL:finalUrl] autorelease];
[request setDelegate:self];
[request setDidFinishSelector: @selector(requestFinished:)];
[request setDidFailSelector: @selector(requestFailed:)];
[networkQueue addOperation: request];
[networkQueue go];
}

//«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
«««««««««««

-(void) requestFinished:(ASIHTTPRequest *)req


{

NSDictionary *dictionary = [[req responseString] JSONFragmentValue];


NSDictionary *restaurantDetails = [dictionary valueForKey:@"Restaurant
Detail"];
NSArray *details = [restaurantDetails valueForKey:@"details"];
NSArray *imageUrls = [details valueForKey:@"image_url"];
NSString *image_url = [imageUrls objectAtIndex:0];
if([image_url isKindOfClass:[NSNull class]]){
image_url = @" ";
}

[imageArray addObject:image_url];
NSLog(@"%@",image_url);
if([imageArray count] == [content count]){
[table reloadData];
[indicator setHidden:YES];
}

//«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
«««««««««««

- (void) requestFailed:(ASIHTTPRequest *)req {


[indicator setHidden:YES];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Search Result"
message:@"Error" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
}

//«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
««

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:


(NSIndexPath *)indexPath {

static NSString *Identifier=@"Identifier";

UITableViewCell *cell = [self.table


dequeueReusableCellWithIdentifier:Identifier];
if(cell == nil){
cell = [self reuseTableViewCellWithIdentifier:Identifier
withIndexPath:indexPath];
}

UIImageView *imgView= (UIImageView *)[cell.contentView


viewWithTag:IMAGE_TAG];
if([imageDict valueForKey:[NSString stringWithFormat:@"%i,%i",
indexPath.section, indexPath.row]]==nil)
{
[NSThread
detachNewThreadSelector:@selector(displayingSmallImage:) toTarget:self
withObject:indexPath];
}
else
{
imgView.image = [imageDict valueForKey:[NSString
stringWithFormat:@"%i,%i", indexPath.section, indexPath.row]];
}

- (void) displayingSmallImage:(NSIndexPath *)indexPath{

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];


NSString *imageUrl = [imageArray objectAtIndex:indexPath.row];
NSURL *url = [NSURL URLWithString:[[imageUrl
stringByTrimmingCharactersInSet:[NSCharacterSet
whitespaceAndNewlineCharacterSet]]
stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
UIImage *image = [UIImage imageWithData:[NSData
dataWithContentsOfURL:url]];
if(image ==nil){
image = [UIImage imageWithContentsOfFile:[[[NSBundle mainBundle]
resourcePath]
stringByAppendingPathComponent:@"Generic_filler_photo_iPad.png"]];
}

[imageDict setObject:image forKey:[NSString stringWithFormat:@"%i,


%i",indexPath.section,indexPath.row]];
[self performSelectorOnMainThread:@selector(imageReceived:)
withObject:indexPath waitUntilDone:NO];
[pool release];
}

//«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
«««««««««««

- (void) imageReceived:(NSIndexPath *)indexPath{

UIImage *image = (UIImage *)[imageDict objectForKey:[NSString


stringWithFormat:@"%i,%i",indexPath.section,indexPath.row]];
UIImageView *imgs = (UIImageView *)[[table
cellForRowAtIndexPath:indexPath] viewWithTag:IMAGE_TAG];
[imgs setImage:image];
[table reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:UITableViewRowAnimationNone];
}