title: Save Struct to UserDefaults
body: <p>I have a struct that I want to save to UserDefaults. Here's my struct</p>
  
  <pre><code>struct Song {
      var title: String
      var artist: String
  }
  
  var songs: [Song] = [
      Song(title: "Title 1", artist "Artist 1"),
      Song(title: "Title 2", artist "Artist 2"),
      Song(title: "Title 3", artist "Artist 3"),
  ]
  </code></pre>
  
  <p>In another ViewController, I have a UIButton that appends to this struct like</p>
  
  <pre><code>@IBAction func likeButtonPressed(_ sender: Any) {   
     songs.append(Song(title: songs[thisSong].title, artist: songs[thisSong].artist))
  }
  </code></pre>
  
  <p>I want it so that whenever the user clicks on that button also, it saves the struct to UserDefaults so that whenever the user quits the app and then opens it agian, it is saved. How would I do this?</p>