title: NSNotificationCenter doesn't send message in Swift
body: <p>I use Core Spotlight, and I use <code>UIPageController</code> as <code>RootViewController</code> and several <code>UIViewControllers</code>. Every controller has <code>UIView</code> I drawing a circle of information in there. When I slide between controllers and open new controller I sent <code>NSNotification</code> from current <code>UIViewController</code> to current UIView which is located on current <code>UIViewController</code>. I sent <code>NSNotification</code> that so turn on <code>NSTimer</code> in <code>UIView</code> for updating of information. It works is fine when I just open the app. My problem is when I find infromation from the app in spotlight search and open needed controller from spotlight search <code>NSNotification</code> doesn't sent. I tried several different methods and I cannot to find how I can to make it. Please tell me how can I make it?</p>
  
  <p><strong>UPDATE</strong> I also tried singleton pattern for <code>NSNotificationCenter</code> but it also didn't help me.</p>
  
  <p><strong>UPDATE</strong> I tried write Selector as <code>notificationCenter.addObserver(self, selector: Selector(turnOnMemoryTimer()), name: "turnOnMemoryArc", object: nil)
  </code>     and it works when I launch app from spotlight search but it doesn't work when I just launch the app. For any help on this matter thanks!</p>
  
  <p>I also tried to send notification from AppDelegate but it also didn't work</p>
  
  <pre><code> switch startIndex {
          case 1:
              notificatioCenter.postNotificationName("turnOnCPUTimer", object: nil)
          default: break
          }
  </code></pre>
  
  <p>UIViewController</p>
  
  <pre><code>override func viewDidAppear(animated: Bool) {
      super.viewDidAppear(true)
      if GlobalTimer.sharedInstance.controllerTimer != nil {
          GlobalTimer.sharedInstance.controllerTimer.invalidate()
          GlobalTimer.sharedInstance.viewTimer.invalidate()
      }
      GlobalTimer.sharedInstance.controllerTimer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "showMemory", userInfo: nil, repeats: true)
      // notifications
  
      notificationCenter.postNotificationName("turnOnMemoryArc", object: nil) // this message doesn't sent
  
      if UIDevice.currentDevice().userInterfaceIdiom == .Pad {
          notificationCenter.postNotificationName("checkMemoryOrientation", object: nil)
          notificationCenter.addObserver(self, selector: "changeMemoryOrientation", name: UIDeviceOrientationDidChangeNotification, object: nil)
      }
  }
  </code></pre>
  
  <p>UIView</p>
  
  <pre><code>// MARK: - var and let
      var arc = Arc()
      let notificationCenter = NSNotificationCenter.defaultCenter()
      var boolForMemoryArc = false
  
  
         override func drawRect(rect: CGRect) {
          if boolForMemoryArc == false {
              drawMemoryArc()
              boolForMemoryArc = true
          }
          notificationCenter.addObserver(self, selector: "turnOnMemoryTimer", name: "turnOnMemoryArc", object: nil)
          notificationCenter.addObserver(self, selector: "changedMemoryOrientation", name: "checkMemoryOrientation", object: nil)
      }
  
      func turnOnMemoryTimer() {
          if GlobalTimer.sharedInstance.viewTimer != nil {
              GlobalTimer.sharedInstance.viewTimer.invalidate()
          }
          GlobalTimer.sharedInstance.viewTimer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "drawMemoryArc", userInfo: nil, repeats: true)
      }
  </code></pre>