DELEGATES Sometimes an object (built-in object that is part of the Swift library) needs to run a method that, you, the programmer have written. For example a Table View needs to know how many rows are in each section, so you, the programer, have to write that code. There are basically three ways to accomplish, "delegates" are one of those three ways. This (usually built-in) objects have a pointer than you, the programmer, can direct to a delegate object. This delegate object contains the method that the built-in object needs (for example, the numberOfRowsInSection method). At run time, the program follows the delegate pointer to the delegate object and finds and the runs the method there that it needs. For GPS, you have to change the Properties List (plist) to give your app access to the GPS. The default is that the app does not have access to location information. You need to active Privacy - Location Always and When in Use Usage Description AND Privacy - Location When in Use Usage Description