title: How to update a UILabel class from another class
body: <p>After looking at various answers to this question, I haven't found once that fits the exact scenario I am in.</p>
  
  <p>Quite simply, I create a UILabelClass as such:</p>
  
  <pre><code>class pointsLabel: UILabel {
  
  override func willMove(toSuperview newSuperview: UIView?) {
      text = points
     // Somehow watch UpdateChecker and update text when change
  }
  
  }
  </code></pre>
  
  <p>And have a UpdateChecker NSObject that is told to run when the app launches:</p>
  
  <pre><code>class UpdateChecker: NSObject {
  
  func watchForUpdates () {
   receivesUpdateFromServer {
  points = pointUpdateFromServer
  }
  }
  
  }
  </code></pre>
  
  <p>The pointsLabel class is assigned to various UILabels in interface builder on different view controllers. </p>
  
  <p>How can I best and most efficiently get the pointsLabel to update it's text when the UpdateChecker receives an update? If I use the NSNotification method the problem is that every time a View loads with the label, another notification observer gets registered, and doesn't get removed when the label disappears. </p>