Created
April 20, 2012 18:44
-
-
Save chrismanderson/2430967 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// MasterViewController.m | |
// ShoeEngine | |
// | |
// Created by Chris Anderson on 4/19/12. | |
// Copyright (c) 2012 The Winston Group. All rights reserved. | |
// | |
#import "MasterViewController.h" | |
#import "DetailViewController.h" | |
@interface MasterViewController () { | |
NSMutableArray *_objects; | |
} | |
@end | |
@implementation MasterViewController | |
- (void)awakeFromNib | |
{ | |
[super awakeFromNib]; | |
} | |
- (void)fetchProducts | |
{ | |
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ | |
NSData* data = [NSData dataWithContentsOfURL: | |
[NSURL URLWithString: @"http://free.worldweatheronline.com/feed/weather.ashx?q=20010&format=json&num_of_days=5&key=586dac13bc212929112804"]]; | |
NSError* error; | |
products = [NSJSONSerialization JSONObjectWithData:data | |
options:NSJSONReadingMutableLeaves | |
error:&error]; | |
dispatch_async(dispatch_get_main_queue(), ^{ | |
[self.tableView reloadData]; | |
}); | |
}); | |
} | |
- (void)viewDidLoad | |
{ | |
[super viewDidLoad]; | |
[self fetchProducts]; | |
// Do any additional setup after loading the view, typically from a nib. | |
} | |
- (void)viewDidUnload | |
{ | |
[super viewDidUnload]; | |
// Release any retained subviews of the main view. | |
} | |
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation | |
{ | |
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); | |
} | |
- (void)insertNewObject:(id)sender | |
{ | |
if (!_objects) { | |
_objects = [[NSMutableArray alloc] init]; | |
} | |
[_objects insertObject:[NSDate date] atIndex:0]; | |
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; | |
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; | |
} | |
#pragma mark - Table View | |
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView | |
{ | |
return 1; | |
} | |
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section | |
{ | |
return products.count; | |
} | |
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath | |
{ | |
static NSString *CellIdentifier = @"ProductCell"; | |
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; | |
if (cell == nil) { | |
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; | |
} | |
NSLog(@"class type is %@", [products class]); | |
NSLog(@"count is %i", [products count]); | |
// NSString *title = [tweet objectForKey:@"title"]; | |
// NSString *name = [tweet objectForKey:@"description"]; | |
//// | |
// cell.textLabel.text = title; | |
// cell.detailTextLabel.text = [NSString stringWithFormat:@"%@", name]; | |
return cell; | |
} | |
- (void)viewWillAppear:(BOOL)animated | |
{ | |
[super viewWillAppear:animated]; | |
[[self tableView] reloadData]; | |
} | |
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath | |
{ | |
// Return NO if you do not want the specified item to be editable. | |
return NO; | |
} | |
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath | |
{ | |
if (editingStyle == UITableViewCellEditingStyleDelete) { | |
[_objects removeObjectAtIndex:indexPath.row]; | |
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; | |
} else if (editingStyle == UITableViewCellEditingStyleInsert) { | |
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view. | |
} | |
} | |
/* | |
// Override to support rearranging the table view. | |
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath | |
{ | |
} | |
*/ | |
/* | |
// Override to support conditional rearranging of the table view. | |
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath | |
{ | |
// Return NO if you do not want the item to be re-orderable. | |
return YES; | |
} | |
*/ | |
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender | |
{ | |
// if ([segue.identifier isEqualToString:@"showProduct"]) { | |
// | |
// NSInteger row = [[self tableView].indexPathForSelectedRow row]; | |
// NSDictionary *product = [products objectAtIndex:row]; | |
// | |
// DetailViewController *detailController = segue.destinationViewController; | |
// detailController.detailItem = product; | |
// } | |
} | |
@end |
{stuff}
Got it working!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Awesome!