title: DispatchQueue : Cannot be called with asCopy = NO on non-main thread
body: <p>I am presenting the <code>UIAlertController</code> on the main thread as :</p>
  
  <pre><code>class HelperMethodClass: NSObject {
  
      class func showAlertMessage(message:String, viewController: UIViewController) {
          let alertMessage = UIAlertController(title: "", message: message, preferredStyle: .alert)
  
          let cancelAction = UIAlertAction(title: "Ok", style: .cancel)
  
          alertMessage.addAction(cancelAction)
  
          DispatchQueue.main.async {
              viewController.present(alertMessage, animated: true, completion: nil)
          }
      }
  }
  </code></pre>
  
  <p>And I am calling the method from any <code>UIViewController</code> as:</p>
  
  <pre><code>HelperMethodClass.showAlertMessage(message: "Any Message", viewController: self)
  </code></pre>
  
  <p>I am getting the output properly.</p>
  
  <p>But in console I am getting below message:</p>
  
  <blockquote>
    <p>[Assert] Cannot be called with asCopy = NO on non-main thread.</p>
  </blockquote>
  
  <p>Is there something I have done wrong here or I can ignore this message ?</p>
  
  <p><strong>Edit</strong></p>
  
  <p>Thanks to @NicolasMiari :</p>
  
  <p>Adding below code is not showing any message:</p>
  
  <pre><code>DispatchQueue.main.async {
      HelperMethodClass.showAlertMessage(message: "Any Message", viewController: self)
  }
  </code></pre>
  
  <p>What can be the reason that previously it was showing the message in console?</p>