title: Detect changes in NSUserDefaults with suiteName
body: <p>In my project i use app group to transfer data to apple watch!
  This look like this</p>
  
  <pre><code>let sharedDefaults = NSUserDefaults(suiteName: "group.com.myappname.defaults")
  sharedDefaults?.setObject(MyData, forKey: "DataKey")
  sharedDefaults?.synchronize()
  </code></pre>
  
  <p>In WKInterfaceController i getting my data with this code:</p>
  
  <pre><code>let sharedDefaults = NSUserDefaults(suiteName: "group.com.myappname.defaults")
  let MyData = sharedDefaults?.objectForKey("DataKey") as! [[AnyObject]]
  </code></pre>
  
  <p>All work fine!</p>
  
  <p>Now i try to detect if data in sharedDefaults?.objectForKey("DataKey") did changed. I try to use addObserver method:</p>
  
  <pre><code>override func willActivate() {
  NSUserDefaults(suiteName: "group.com.myappname.defaults")!.addObserver(self, forKeyPath: "DataKey", options: NSKeyValueObservingOptions.New, context: nil)
  }
  
  override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer&lt;Void&gt;){
        print("Data Changed")
  }
  </code></pre>
  
  <p>But "override func observeValueForKeyPath" calling only when WKInterfaceController will Activate and didn't calling when i change Data in NSUserDefaults(suiteName: "group.com.myappname.defaults")</p>
  
  <p>Also i try to use NSNotificationCenter:</p>
  
  <pre><code>override func willActivate() {
  let sharedDefaults = NSUserDefaults(suiteName: "group.com.myappname.defaults")
  NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(userDefaultsDidChangeNotificationMethod(_:)), name: NSUserDefaultsDidChangeNotification, object: nil)
  }
  
  func userDefaultsDidChangeNotificationMethod(notification: NSNotification){
   print("Data Changed")
  }
  </code></pre>
  
  <p>It doesn't work(</p>
  
  <p>What i doing wrong? How to detect if data changed?</p>