@@ -0,0 +1,20 @@
//
// CustomNavigationController.swift
// Guidebox
//
// Created by Luke Solomon on 10/23/15.
// Copyright © 2015 Luke Solomon. All rights reserved.
//
import Foundation
import UIKit


class CustomNavigationController: UINavigationController {

override func viewDidLoad() {
self.navigationController?.navigationBar.barTintColor = UIColor.blackColor()
}


}
@@ -21,6 +21,8 @@ @interface CustomTableViewCell ()
@implementation CustomTableViewCell

-(void)setCellImage:(NSString *)cellImageUrl {
self.image.image = nil;

[self.image setImageWithURL:[NSURL URLWithString:cellImageUrl]];
}

@@ -2,3 +2,4 @@
// Use this file to import your target's public headers that you would like to expose to Swift.
//

#import "SearchState.h"
@@ -8,6 +8,7 @@

#import <UIKit/UIKit.h>

@interface MainTableViewController : UITableViewController
@interface MainTableViewController : UITableViewController <UISearchBarDelegate, UISearchDisplayDelegate>
@property (weak, nonatomic) IBOutlet UISearchBar *titleSearchBar;

@end
@@ -11,6 +11,7 @@
#import <AFNetworking/AFNetworking.h>
#import "UIImageView+AFNetworking.h"
#import "ViewController.h"
#import "SearchState.h"

#include "Global.h"

@@ -20,6 +21,19 @@ @implementation MainTableViewController {

-(void)viewDidLoad {
[super viewDidLoad];



// if ([[SearchState sharedManager].indexOfWhereToStart isKindOfClass:[NSNull class]]) {
[SearchState sharedManager].indexOfWhereToStart = [NSNumber numberWithInt:0];
// } else if ([[SearchState sharedManager].numberOfResultsToShow isKindOfClass:[NSNull class]]) {
[SearchState sharedManager].numberOfResultsToShow = [NSNumber numberWithInt:10];
// }

NSLog(@"%@ & %@",[SearchState sharedManager].indexOfWhereToStart,[SearchState sharedManager].numberOfResultsToShow);

self.titleSearchBar.delegate = self;

[self getRequestToAPI];

}
@@ -28,9 +42,29 @@ -(void)viewDidLoad {
- (void)getRequestToAPI {

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:[NSString stringWithFormat:@"https://api-public.guidebox.com/v1.43/US/%@/shows/all/0/5/all/all/", APIKEY] parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {

[manager GET:[NSString stringWithFormat:@"https://api-public.guidebox.com/v1.43/US/%@/shows/all/%@/%@/all/all/", APIKEY, [[SearchState sharedManager].indexOfWhereToStart stringValue],[[SearchState sharedManager].numberOfResultsToShow stringValue]] parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {

resultsArray = [responseObject objectForKey:@"results"];

dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
}


- (void)getRequestToAPIwithSearchString:(NSString *)searchString {

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

[manager GET:[NSString stringWithFormat:@"https://api-public.guidebox.com/v1.43/US/%@/search/title/%@/fuzzy", APIKEY, searchString] parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {

resultsArray = [responseObject objectForKey:@"results"];

dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
@@ -64,6 +98,12 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
[self performSegueWithIdentifier:@"showDetail" sender:tableView];
}

#pragma mark - Search Bar
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {

[self getRequestToAPIwithSearchString:_titleSearchBar.text];
}

#pragma mark - Segues
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

@@ -8,14 +8,12 @@

#import <Foundation/Foundation.h>


@interface SearchState : NSObject


@property (nonatomic) NSNumber *numberOfResultsToShow;
@property (nonatomic) NSNumber *indexOfWhereToStart;


+ (instancetype)sharedManager;


@@ -9,9 +9,9 @@
#import "SearchState.h"

@implementation SearchState

@synthesize numberOfResultsToShow;
@synthesize indexOfWhereToStart;
//
//@synthesize numberOfResultsToShow;
//@synthesize indexOfWhereToStart;



@@ -8,16 +8,14 @@
import UIKit


class SearchViewController: UIViewController {

@IBOutlet weak var topPicker: UIPickerView!
@IBOutlet weak var bottomPicker: UIPickerView!
@IBOutlet weak var segmentedControl: UISegmentedControl!


let topPickerData = ["Mozzarella","Gorgonzola","Provolone","Brie","Maytag Blue","Sharp Cheddar","Monterrey Jack","Stilton","Gouda","Goat Cheese", "Asiago"]

let bottomPickerData = ["5","10"]
let topPickerData = Array(1..<10)
let bottomPickerData = Array(1..<10)


override func viewDidLoad() {
@@ -43,7 +41,6 @@ extension SearchViewController: UIPickerViewDataSource {

if (pickerView == topPicker) {
return topPickerData.count

} else if (pickerView == bottomPicker) {
return bottomPickerData.count
}
@@ -55,19 +52,22 @@ extension SearchViewController: UIPickerViewDelegate {
//MARK: Delegates
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if (pickerView == topPicker) {
return topPickerData[row]
return String(topPickerData[row])
} else if (pickerView == bottomPicker) {
return bottomPickerData[row]
return String(bottomPickerData[row])
}
return "No data found. Try refreshing."
}

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if (pickerView == topPicker) {
//do something
SearchState.sharedManager().indexOfWhereToStart = pickerView.selectedRowInComponent(component)+1
} else if (pickerView == bottomPicker) {
//do something else
SearchState.sharedManager().numberOfResultsToShow = pickerView.selectedRowInComponent(component)+1
}

print(" \(SearchState.sharedManager().indexOfWhereToStart)")
print(" \(SearchState.sharedManager().numberOfResultsToShow)")
}