From 50f78df781acd78a98efe1c96c55ad4f20c838c0 Mon Sep 17 00:00:00 2001 From: Max Hunt Date: Fri, 31 May 2019 14:45:12 +0100 Subject: [PATCH 1/5] Update --- Guibe.xcodeproj/project.pbxproj | 4 ++++ Guibe/Base.lproj/Main.storyboard | 18 +++++++++++++++- Guibe/MainViewController.swift | 25 ++++++++++++++++++++++ Guibe/TableViewCell.swift | 36 ++++++++++++++++++++++++++++++++ 4 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 Guibe/TableViewCell.swift diff --git a/Guibe.xcodeproj/project.pbxproj b/Guibe.xcodeproj/project.pbxproj index b4b1b4e..cfb466c 100644 --- a/Guibe.xcodeproj/project.pbxproj +++ b/Guibe.xcodeproj/project.pbxproj @@ -8,6 +8,7 @@ /* Begin PBXBuildFile section */ 505AFEF8229FE1BD004FF0F1 /* settingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505AFEF7229FE1BD004FF0F1 /* settingsViewController.swift */; }; + 505AFEFC22A154EB004FF0F1 /* TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505AFEFB22A154EB004FF0F1 /* TableViewCell.swift */; }; 50A7ADD5229D6A4200D58743 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A7ADD4229D6A4200D58743 /* AppDelegate.swift */; }; 50A7ADD7229D6A4200D58743 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A7ADD6229D6A4200D58743 /* ViewController.swift */; }; 50A7ADDA229D6A4200D58743 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 50A7ADD8229D6A4200D58743 /* Main.storyboard */; }; @@ -24,6 +25,7 @@ /* Begin PBXFileReference section */ 505AFEF7229FE1BD004FF0F1 /* settingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = settingsViewController.swift; sourceTree = ""; }; + 505AFEFB22A154EB004FF0F1 /* TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableViewCell.swift; sourceTree = ""; }; 50A7ADD1229D6A4200D58743 /* Guibe.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Guibe.app; sourceTree = BUILT_PRODUCTS_DIR; }; 50A7ADD4229D6A4200D58743 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 50A7ADD6229D6A4200D58743 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -79,6 +81,7 @@ 50A7ADD6229D6A4200D58743 /* ViewController.swift */, 50A7ADE6229D6C7100D58743 /* Assets.xcassets */, 50A7ADD8229D6A4200D58743 /* Main.storyboard */, + 505AFEFB22A154EB004FF0F1 /* TableViewCell.swift */, 50A7ADFE229D768900D58743 /* MainViewController.swift */, 505AFEF7229FE1BD004FF0F1 /* settingsViewController.swift */, 50A7ADFC229D766800D58743 /* 7_ReadyViewController.swift */, @@ -188,6 +191,7 @@ 50A7ADFD229D766800D58743 /* 7_ReadyViewController.swift in Sources */, 50A7ADF9229D75C100D58743 /* 5_HandChoiceViewController.swift in Sources */, 50A7ADD7229D6A4200D58743 /* ViewController.swift in Sources */, + 505AFEFC22A154EB004FF0F1 /* TableViewCell.swift in Sources */, 50A7ADF5229D75A900D58743 /* 3_StartViewController.swift in Sources */, 50A7ADD5229D6A4200D58743 /* AppDelegate.swift in Sources */, 50A7ADFF229D768900D58743 /* MainViewController.swift in Sources */, diff --git a/Guibe/Base.lproj/Main.storyboard b/Guibe/Base.lproj/Main.storyboard index 5d69ba8..5c08e8c 100644 --- a/Guibe/Base.lproj/Main.storyboard +++ b/Guibe/Base.lproj/Main.storyboard @@ -305,7 +305,7 @@ - + @@ -319,10 +319,25 @@ + + + + + + + + @@ -338,6 +353,7 @@ + diff --git a/Guibe/MainViewController.swift b/Guibe/MainViewController.swift index 146c801..27e4fff 100644 --- a/Guibe/MainViewController.swift +++ b/Guibe/MainViewController.swift @@ -14,6 +14,9 @@ import AVFoundation class MainViewController: UIViewController, AVAudioPlayerDelegate { + + var testData = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25"] + // DELETE let defaults = UserDefaults.standard // DELETE @@ -45,6 +48,7 @@ class MainViewController: UIViewController, AVAudioPlayerDelegate { @IBOutlet weak var micBtn: UIButton! // --------------------- @IBOutlet weak var mapView: MKMapView! + @IBOutlet weak var tableView: UITableView! // OUTLETS--------------OUTLETS @@ -275,3 +279,24 @@ extension MainViewController: MKMapViewDelegate { return MKOverlayRenderer() } } + + +extension MainViewController: UITableViewDataSource, UITableViewDelegate { + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return testData.count + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? TableViewCell + cell?.cellLbl.text = testData[indexPath.row] + cell?.cellDelegate = self + cell?.index = indexPath + return cell! + } +} + +extension MainViewController: tableViewProtocol { + func onClickCell(index: Int) { + debugPrint("Pressed on cell number \(index)") + } +} diff --git a/Guibe/TableViewCell.swift b/Guibe/TableViewCell.swift new file mode 100644 index 0000000..35f6440 --- /dev/null +++ b/Guibe/TableViewCell.swift @@ -0,0 +1,36 @@ +// +// TableViewCell.swift +// Guibe +// +// Created by Max Hunt on 31/05/2019. +// Copyright © 2019 8. All rights reserved. +// + +import UIKit + +protocol tableViewProtocol { + func onClickCell(index: Int) +} + +class TableViewCell: UITableViewCell { + + @IBOutlet weak var cellLbl: UILabel! + + var cellDelegate: tableViewProtocol? + var index: IndexPath? + + + @IBAction func goPressed(_ sender: Any) { + cellDelegate?.onClickCell(index: (index?.row)!) + } + + override func awakeFromNib() { + super.awakeFromNib() + // Initialization code + } + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + } + +} From ddf3ad28ae62a51dac8dd925589adab1c4af6096 Mon Sep 17 00:00:00 2001 From: Max Hunt Date: Fri, 31 May 2019 17:33:27 +0100 Subject: [PATCH 2/5] FIX THIS --- Guibe.xcodeproj/project.pbxproj | 4 +++ Guibe/AppDelegate.swift | 3 ++ Guibe/Base.lproj/Main.storyboard | 49 ++++++++++++++++--------- Guibe/MainViewController.swift | 41 +++++++++------------ Guibe/TableViewController.swift | 62 ++++++++++++++++++++++++++++++++ 5 files changed, 119 insertions(+), 40 deletions(-) create mode 100644 Guibe/TableViewController.swift diff --git a/Guibe.xcodeproj/project.pbxproj b/Guibe.xcodeproj/project.pbxproj index cfb466c..e67710f 100644 --- a/Guibe.xcodeproj/project.pbxproj +++ b/Guibe.xcodeproj/project.pbxproj @@ -21,6 +21,7 @@ 50A7ADFF229D768900D58743 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A7ADFE229D768900D58743 /* MainViewController.swift */; }; 50A7AE02229D7B1100D58743 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50A7AE01229D7B1100D58743 /* MapKit.framework */; }; 50A9B4E1229E115B00070F61 /* Video.mov in Resources */ = {isa = PBXBuildFile; fileRef = 50A9B4E0229E115B00070F61 /* Video.mov */; }; + 50C69B1122A16A7100EA99C1 /* TableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C69B1022A16A7100EA99C1 /* TableViewController.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -41,6 +42,7 @@ 50A7AE01229D7B1100D58743 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; }; 50A7AE05229D7B1E00D58743 /* Guibe.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Guibe.entitlements; sourceTree = ""; }; 50A9B4E0229E115B00070F61 /* Video.mov */ = {isa = PBXFileReference; lastKnownFileType = video.quicktime; path = Video.mov; sourceTree = ""; }; + 50C69B1022A16A7100EA99C1 /* TableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableViewController.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -83,6 +85,7 @@ 50A7ADD8229D6A4200D58743 /* Main.storyboard */, 505AFEFB22A154EB004FF0F1 /* TableViewCell.swift */, 50A7ADFE229D768900D58743 /* MainViewController.swift */, + 50C69B1022A16A7100EA99C1 /* TableViewController.swift */, 505AFEF7229FE1BD004FF0F1 /* settingsViewController.swift */, 50A7ADFC229D766800D58743 /* 7_ReadyViewController.swift */, 50A7ADF4229D75A900D58743 /* 3_StartViewController.swift */, @@ -191,6 +194,7 @@ 50A7ADFD229D766800D58743 /* 7_ReadyViewController.swift in Sources */, 50A7ADF9229D75C100D58743 /* 5_HandChoiceViewController.swift in Sources */, 50A7ADD7229D6A4200D58743 /* ViewController.swift in Sources */, + 50C69B1122A16A7100EA99C1 /* TableViewController.swift in Sources */, 505AFEFC22A154EB004FF0F1 /* TableViewCell.swift in Sources */, 50A7ADF5229D75A900D58743 /* 3_StartViewController.swift in Sources */, 50A7ADD5229D6A4200D58743 /* AppDelegate.swift in Sources */, diff --git a/Guibe/AppDelegate.swift b/Guibe/AppDelegate.swift index 2e8172a..dfc8b36 100644 --- a/Guibe/AppDelegate.swift +++ b/Guibe/AppDelegate.swift @@ -7,11 +7,14 @@ // import UIKit +import MapKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? + + var navigationResults: MKDirections.Response? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { diff --git a/Guibe/Base.lproj/Main.storyboard b/Guibe/Base.lproj/Main.storyboard index 5c08e8c..d6a1ff5 100644 --- a/Guibe/Base.lproj/Main.storyboard +++ b/Guibe/Base.lproj/Main.storyboard @@ -300,8 +300,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -341,24 +370,12 @@ - + - - - - - - - - - - - - - + - + diff --git a/Guibe/MainViewController.swift b/Guibe/MainViewController.swift index 27e4fff..dd0f086 100644 --- a/Guibe/MainViewController.swift +++ b/Guibe/MainViewController.swift @@ -14,13 +14,13 @@ import AVFoundation class MainViewController: UIViewController, AVAudioPlayerDelegate { - - var testData = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25"] - // DELETE let defaults = UserDefaults.standard // DELETE + let appDelegate = UIApplication.shared.delegate as! AppDelegate + + let locationManager = CLLocationManager() var currentCoordinate: CLLocationCoordinate2D! @@ -105,6 +105,16 @@ class MainViewController: UIViewController, AVAudioPlayerDelegate { let directions = MKDirections(request: directionsRequest) directions.calculate { (response, _) in guard let response = response else { return } + +// self.appDelegate.navigationResults = response + + + +// let resultsViewController = self.storyboard?.instantiateViewController(withIdentifier: "resultsScreen") as! TableViewController +// resultsViewController.searchResults = response +// resultsViewController.modalTransitionStyle = .coverVertical +// self.present(resultsViewController, animated: true, completion: nil) + guard let primaryRoute = response.routes.first else { return } self.mapView.addOverlay(primaryRoute.polyline) @@ -252,6 +262,10 @@ extension MainViewController: UISearchBarDelegate { let localSearch = MKLocalSearch(request: localSearchRequest) localSearch.start { (response, _) in guard let response = response else { return } + let resultsViewController = self.storyboard?.instantiateViewController(withIdentifier: "resultsScreen") as! TableViewController + resultsViewController.searchResults = response.mapItems + resultsViewController.modalTransitionStyle = .coverVertical + self.present(resultsViewController, animated: true, completion: nil) guard let firstMapItem = response.mapItems.first else { return } self.getDirections(to: firstMapItem) } @@ -279,24 +293,3 @@ extension MainViewController: MKMapViewDelegate { return MKOverlayRenderer() } } - - -extension MainViewController: UITableViewDataSource, UITableViewDelegate { - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return testData.count - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? TableViewCell - cell?.cellLbl.text = testData[indexPath.row] - cell?.cellDelegate = self - cell?.index = indexPath - return cell! - } -} - -extension MainViewController: tableViewProtocol { - func onClickCell(index: Int) { - debugPrint("Pressed on cell number \(index)") - } -} diff --git a/Guibe/TableViewController.swift b/Guibe/TableViewController.swift new file mode 100644 index 0000000..f2cd10d --- /dev/null +++ b/Guibe/TableViewController.swift @@ -0,0 +1,62 @@ +// +// TableViewController.swift +// Guibe +// +// Created by Max Hunt on 31/05/2019. +// Copyright © 2019 8. All rights reserved. +// + +import UIKit +import MapKit + +class TableViewController: UIViewController { + + let appDelegate = UIApplication.shared.delegate as! AppDelegate + + var searchResults: [MKMapItem]? + + override func viewDidLoad() { + super.viewDidLoad() +// let testData = appDelegate.navigationResults + + // Do any additional setup after loading the view. + } + + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + // Get the new view controller using segue.destination. + // Pass the selected object to the new view controller. + } + */ + +} + +extension TableViewController: UITableViewDataSource, UITableViewDelegate { + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return self.searchResults?.count ?? 0 + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? TableViewCell + let row = indexPath.row + + if let item = searchResults?[row] { + cell?.cellLbl.text = item.name +// cell.phoneLabel.text = item.phoneNumber + } +// cell?.cellLbl.text = self.searchResults[indexPath.row] +// cell?.cellDelegate = self +// cell?.index = indexPath + return cell! + } +} + +extension TableViewController: tableViewProtocol { + func onClickCell(index: Int) { + debugPrint("Pressed on cell number \(index)") + } +} From 49f29a9e50ed7351a557d8dd8081d5f0874d39e4 Mon Sep 17 00:00:00 2001 From: Max Hunt Date: Fri, 31 May 2019 19:10:22 +0100 Subject: [PATCH 3/5] checkpoint --- Guibe.xcodeproj/project.pbxproj | 8 +-- Guibe/Base.lproj/Main.storyboard | 52 +++++++++------- Guibe/MainViewController.swift | 5 +- ...eViewCell.swift => NewTableViewCell.swift} | 17 ++++-- Guibe/TableViewController.swift | 59 ++++++++++--------- 5 files changed, 79 insertions(+), 62 deletions(-) rename Guibe/{TableViewCell.swift => NewTableViewCell.swift} (74%) diff --git a/Guibe.xcodeproj/project.pbxproj b/Guibe.xcodeproj/project.pbxproj index e67710f..6e7282a 100644 --- a/Guibe.xcodeproj/project.pbxproj +++ b/Guibe.xcodeproj/project.pbxproj @@ -8,7 +8,6 @@ /* Begin PBXBuildFile section */ 505AFEF8229FE1BD004FF0F1 /* settingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505AFEF7229FE1BD004FF0F1 /* settingsViewController.swift */; }; - 505AFEFC22A154EB004FF0F1 /* TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505AFEFB22A154EB004FF0F1 /* TableViewCell.swift */; }; 50A7ADD5229D6A4200D58743 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A7ADD4229D6A4200D58743 /* AppDelegate.swift */; }; 50A7ADD7229D6A4200D58743 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A7ADD6229D6A4200D58743 /* ViewController.swift */; }; 50A7ADDA229D6A4200D58743 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 50A7ADD8229D6A4200D58743 /* Main.storyboard */; }; @@ -22,11 +21,11 @@ 50A7AE02229D7B1100D58743 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50A7AE01229D7B1100D58743 /* MapKit.framework */; }; 50A9B4E1229E115B00070F61 /* Video.mov in Resources */ = {isa = PBXBuildFile; fileRef = 50A9B4E0229E115B00070F61 /* Video.mov */; }; 50C69B1122A16A7100EA99C1 /* TableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C69B1022A16A7100EA99C1 /* TableViewController.swift */; }; + 50C69B1322A19D8800EA99C1 /* NewTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C69B1222A19D8800EA99C1 /* NewTableViewCell.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 505AFEF7229FE1BD004FF0F1 /* settingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = settingsViewController.swift; sourceTree = ""; }; - 505AFEFB22A154EB004FF0F1 /* TableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableViewCell.swift; sourceTree = ""; }; 50A7ADD1229D6A4200D58743 /* Guibe.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Guibe.app; sourceTree = BUILT_PRODUCTS_DIR; }; 50A7ADD4229D6A4200D58743 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 50A7ADD6229D6A4200D58743 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -43,6 +42,7 @@ 50A7AE05229D7B1E00D58743 /* Guibe.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Guibe.entitlements; sourceTree = ""; }; 50A9B4E0229E115B00070F61 /* Video.mov */ = {isa = PBXFileReference; lastKnownFileType = video.quicktime; path = Video.mov; sourceTree = ""; }; 50C69B1022A16A7100EA99C1 /* TableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableViewController.swift; sourceTree = ""; }; + 50C69B1222A19D8800EA99C1 /* NewTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewTableViewCell.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -83,9 +83,9 @@ 50A7ADD6229D6A4200D58743 /* ViewController.swift */, 50A7ADE6229D6C7100D58743 /* Assets.xcassets */, 50A7ADD8229D6A4200D58743 /* Main.storyboard */, - 505AFEFB22A154EB004FF0F1 /* TableViewCell.swift */, 50A7ADFE229D768900D58743 /* MainViewController.swift */, 50C69B1022A16A7100EA99C1 /* TableViewController.swift */, + 50C69B1222A19D8800EA99C1 /* NewTableViewCell.swift */, 505AFEF7229FE1BD004FF0F1 /* settingsViewController.swift */, 50A7ADFC229D766800D58743 /* 7_ReadyViewController.swift */, 50A7ADF4229D75A900D58743 /* 3_StartViewController.swift */, @@ -195,9 +195,9 @@ 50A7ADF9229D75C100D58743 /* 5_HandChoiceViewController.swift in Sources */, 50A7ADD7229D6A4200D58743 /* ViewController.swift in Sources */, 50C69B1122A16A7100EA99C1 /* TableViewController.swift in Sources */, - 505AFEFC22A154EB004FF0F1 /* TableViewCell.swift in Sources */, 50A7ADF5229D75A900D58743 /* 3_StartViewController.swift in Sources */, 50A7ADD5229D6A4200D58743 /* AppDelegate.swift in Sources */, + 50C69B1322A19D8800EA99C1 /* NewTableViewCell.swift in Sources */, 50A7ADFF229D768900D58743 /* MainViewController.swift in Sources */, 50A7ADFB229D75E900D58743 /* 6_SideChoiceViewController.swift in Sources */, 505AFEF8229FE1BD004FF0F1 /* settingsViewController.swift in Sources */, diff --git a/Guibe/Base.lproj/Main.storyboard b/Guibe/Base.lproj/Main.storyboard index d6a1ff5..a9dba9f 100644 --- a/Guibe/Base.lproj/Main.storyboard +++ b/Guibe/Base.lproj/Main.storyboard @@ -314,7 +314,6 @@ - @@ -329,53 +328,64 @@ - - + + - - + + - - + + - - + + - - + + + + + - + diff --git a/Guibe/MainViewController.swift b/Guibe/MainViewController.swift index dd0f086..9f1befe 100644 --- a/Guibe/MainViewController.swift +++ b/Guibe/MainViewController.swift @@ -252,7 +252,6 @@ extension MainViewController: CLLocationManagerDelegate { extension MainViewController: UISearchBarDelegate { func searchBarSearchButtonClicked(_ searchBar: UISearchBar) { - print("Here2") searchBar.endEditing(true) //HIDES LE KEYBOARD let localSearchRequest = MKLocalSearch.Request() @@ -266,8 +265,8 @@ extension MainViewController: UISearchBarDelegate { resultsViewController.searchResults = response.mapItems resultsViewController.modalTransitionStyle = .coverVertical self.present(resultsViewController, animated: true, completion: nil) - guard let firstMapItem = response.mapItems.first else { return } - self.getDirections(to: firstMapItem) +// guard let firstMapItem = response.mapItems.first else { return } +// self.getDirections(to: firstMapItem) } } diff --git a/Guibe/TableViewCell.swift b/Guibe/NewTableViewCell.swift similarity index 74% rename from Guibe/TableViewCell.swift rename to Guibe/NewTableViewCell.swift index 35f6440..9c4959d 100644 --- a/Guibe/TableViewCell.swift +++ b/Guibe/NewTableViewCell.swift @@ -1,5 +1,5 @@ // -// TableViewCell.swift +// NewTableViewCell.swift // Guibe // // Created by Max Hunt on 31/05/2019. @@ -8,22 +8,25 @@ import UIKit + protocol tableViewProtocol { func onClickCell(index: Int) } -class TableViewCell: UITableViewCell { - @IBOutlet weak var cellLbl: UILabel! - - var cellDelegate: tableViewProtocol? - var index: IndexPath? +class NewTableViewCell: UITableViewCell { + + @IBOutlet weak var primaryLbl: UILabel! + @IBOutlet weak var secondaryLbl: UILabel! @IBAction func goPressed(_ sender: Any) { cellDelegate?.onClickCell(index: (index?.row)!) } + var cellDelegate: tableViewProtocol? + var index: IndexPath? + override func awakeFromNib() { super.awakeFromNib() // Initialization code @@ -31,6 +34,8 @@ class TableViewCell: UITableViewCell { override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) + + // Configure the view for the selected state } } diff --git a/Guibe/TableViewController.swift b/Guibe/TableViewController.swift index f2cd10d..c62dbda 100644 --- a/Guibe/TableViewController.swift +++ b/Guibe/TableViewController.swift @@ -11,52 +11,55 @@ import MapKit class TableViewController: UIViewController { - let appDelegate = UIApplication.shared.delegate as! AppDelegate - var searchResults: [MKMapItem]? + @IBOutlet weak var tableView: UITableView! + + override func viewDidLoad() { super.viewDidLoad() // let testData = appDelegate.navigationResults - - // Do any additional setup after loading the view. - } + } - - /* - // MARK: - Navigation - - // In a storyboard-based application, you will often want to do a little preparation before navigation - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - // Get the new view controller using segue.destination. - // Pass the selected object to the new view controller. - } - */ - -} +// func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { +// return searchResults?.count ?? 0 +// } +// +// func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { +// let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) +// let row = indexPath.row +// +// if let item = searchResults?[row] { +// print(item) +// cell.textLabel?.text = item.name +// } +// +// return cell +// } +} // END OF CLASS extension TableViewController: UITableViewDataSource, UITableViewDelegate { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return self.searchResults?.count ?? 0 + return searchResults?.count ?? 0 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? TableViewCell - let row = indexPath.row + let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! NewTableViewCell - if let item = searchResults?[row] { - cell?.cellLbl.text = item.name -// cell.phoneLabel.text = item.phoneNumber + let row = indexPath.row + if let result = searchResults?[row] { + cell.primaryLbl.text = result.name + cell.secondaryLbl.text = result.phoneNumber + cell.cellDelegate = self + cell.index = indexPath } -// cell?.cellLbl.text = self.searchResults[indexPath.row] -// cell?.cellDelegate = self -// cell?.index = indexPath - return cell! + + return cell } } extension TableViewController: tableViewProtocol { func onClickCell(index: Int) { - debugPrint("Pressed on cell number \(index)") + print("Going to navigate to option \(index)") } } From 60cc742779dfb8c130fde43b8dd1f7187c8dc55c Mon Sep 17 00:00:00 2001 From: Max Hunt Date: Fri, 31 May 2019 19:10:30 +0100 Subject: [PATCH 4/5] cp2 --- .../max.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Guibe.xcodeproj/xcuserdata/max.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist diff --git a/Guibe.xcodeproj/xcuserdata/max.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Guibe.xcodeproj/xcuserdata/max.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..fe2b454 --- /dev/null +++ b/Guibe.xcodeproj/xcuserdata/max.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,5 @@ + + + From 79cc73fc47ac7604343908c221adf0b9b6d4b5f4 Mon Sep 17 00:00:00 2001 From: Max Hunt Date: Fri, 31 May 2019 20:27:55 +0100 Subject: [PATCH 5/5] TABLE VIEW DONEEEE!!!!! --- Guibe/Base.lproj/Main.storyboard | 11 +++++++++-- Guibe/MainViewController.swift | 31 ++++++++++++++++++++++--------- Guibe/TableViewController.swift | 15 +++++++++++++-- 3 files changed, 44 insertions(+), 13 deletions(-) diff --git a/Guibe/Base.lproj/Main.storyboard b/Guibe/Base.lproj/Main.storyboard index a9dba9f..ffc6a37 100644 --- a/Guibe/Base.lproj/Main.storyboard +++ b/Guibe/Base.lproj/Main.storyboard @@ -329,7 +329,7 @@ - + @@ -348,7 +348,7 @@ - + diff --git a/Guibe/MainViewController.swift b/Guibe/MainViewController.swift index 9f1befe..582198b 100644 --- a/Guibe/MainViewController.swift +++ b/Guibe/MainViewController.swift @@ -12,7 +12,12 @@ import MapKit import CoreLocation import AVFoundation -class MainViewController: UIViewController, AVAudioPlayerDelegate { + + + + +class MainViewController: UIViewController, AVAudioPlayerDelegate, myProtocol { + // DELETE let defaults = UserDefaults.standard @@ -35,6 +40,7 @@ class MainViewController: UIViewController, AVAudioPlayerDelegate { var startedNavigation: Bool = false + var toLocationId: Int = -1 // OUTLETS--------------OUTLETS @IBOutlet weak var menuWindowView: UIView! @@ -48,8 +54,6 @@ class MainViewController: UIViewController, AVAudioPlayerDelegate { @IBOutlet weak var micBtn: UIButton! // --------------------- @IBOutlet weak var mapView: MKMapView! - @IBOutlet weak var tableView: UITableView! - // OUTLETS--------------OUTLETS // ACTIONS--------------ACTIONS @@ -138,6 +142,10 @@ class MainViewController: UIViewController, AVAudioPlayerDelegate { self.stepCounter += 1 } } + + func startNavigation(toPlace: MKMapItem){ + getDirections(to: toPlace) + } } //END OF CLASS @@ -261,18 +269,23 @@ extension MainViewController: UISearchBarDelegate { let localSearch = MKLocalSearch(request: localSearchRequest) localSearch.start { (response, _) in guard let response = response else { return } - let resultsViewController = self.storyboard?.instantiateViewController(withIdentifier: "resultsScreen") as! TableViewController - resultsViewController.searchResults = response.mapItems - resultsViewController.modalTransitionStyle = .coverVertical - self.present(resultsViewController, animated: true, completion: nil) + + + + let resultsViewController = self.storyboard?.instantiateViewController(withIdentifier: "resultsScreen") as! TableViewController + resultsViewController.searchResults = response.mapItems + resultsViewController.modalTransitionStyle = .coverVertical + resultsViewController.myProtocol = self + self.present(resultsViewController, animated: true, completion: nil) + + + // guard let firstMapItem = response.mapItems.first else { return } // self.getDirections(to: firstMapItem) } } } - - extension MainViewController: MKMapViewDelegate { func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer { if overlay is MKPolyline { diff --git a/Guibe/TableViewController.swift b/Guibe/TableViewController.swift index c62dbda..4af6eca 100644 --- a/Guibe/TableViewController.swift +++ b/Guibe/TableViewController.swift @@ -9,15 +9,24 @@ import UIKit import MapKit +protocol myProtocol { + func startNavigation(toPlace: MKMapItem) +} + + + class TableViewController: UIViewController { var searchResults: [MKMapItem]? - + var myProtocol: myProtocol? + @IBOutlet weak var tableView: UITableView! override func viewDidLoad() { super.viewDidLoad() + + // let testData = appDelegate.navigationResults } @@ -60,6 +69,8 @@ extension TableViewController: UITableViewDataSource, UITableViewDelegate { extension TableViewController: tableViewProtocol { func onClickCell(index: Int) { - print("Going to navigate to option \(index)") + debugPrint("Going to navigate to option \(index)") + self.myProtocol?.startNavigation(toPlace: (searchResults?[index])!) + self.dismiss(animated: true, completion: nil) } }