title: Is NSUserDefaults Not Efficient?
body: <p>In my iOS app, I have static string data that is displayed across multiple view controllers during the app's run time. I am using <code>NSUserDefaults</code> at the moment to store the data locally for later access, but I am questioning if this is the most optimal way to do things.</p>
  
  <p>Alternatively, what if I had <code>secondViewController.swift</code></p>
  
  <pre><code>let nameText  = ""
  let nameLabel = UILabel()
  
  override func viewDidLoad() {
      super.viewDidLoad()
  
      nameLabel.text = nameText
  }
  </code></pre>
  
  <p>and in <code>firstViewController.swift</code> I did this</p>
  
  <pre><code>override func viewDidLoad() {
      super.viewDidLoad()
  
      let secondVC = secondViewController(nibNamed: "secondViewController", bundle: nil)
      secondVC.nameText = "John Doe"
  }
  </code></pre>
  
  <p>Would the above be most optimal in terms of keeping the data not stale?</p>