Comparing simple types is of course built into Swift but in our case we want to consider locations equal if the name matches - ignoring the coordinates. This episode covers two ways to handle custom comparison.
TableView cells can handle many kinds of interaction, and sometimes it takes some tweaking to make them behave exactly as you like. Here we'll set the selection styles and set up deletion from the list.
Most apps have some sort of loading time when they open, and the most polished provide the user with some sort of loading state - a bit of motion or delight to distract them from the non-instantaneous load. Learn how to build one in Swift!
UserDefaults was a great way to save data but is limited to certain types. In this lesson we'll create a custom Location class that implements the NSCoding protocol so we can save and retrieve more structured data.
The "Saved Locations" screen has had a major flaw to this point — it didn't actually save the list of locations when one was added. We'll be tackling that issue in this lesson, using the UserDefaults system object to save and store our locations.