dispatch_async и неожиданное не пустое возвращаемое значение в void функции в Swift

У меня есть функция в моемappDelegate который возвращает текущее местоположение пользователя.

Теперь я хочу вызвать его асинхронно в другом месте, и я сделал:

func handleLocation() -> CLLocation {
  let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
  dispatch_async(dispatch_get_global_queue(priority, 0)) {
    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    appDelegate.startGPS()
    while (!appDelegate.isLocationFixed()) {
      sleep(1)
    }
    dispatch_async(dispatch_get_main_queue()) {
      return appDelegate.getLocation()
    }
  }
}

но теперь эта линияreturn appDelegate.getLocation() приносит мне ошибку:

неожиданное не пустое возвращаемое значение в пустой функции

Я не слишком много знаю о темах вSwift все же, не могли бы вы помочь мне решить эту проблему?

Ответы на вопрос(1)

Ваш ответ на вопрос