Como faço para vincular fraco no Swift?

No Objective-C, se eu quisesse usar uma classe específica que está presente apenas em uma nova versão do iOS, faria algo assim:

if( [UIBlurEffect class] ) {
  // do something with UIBlurEffect
}
else {
  // gracefully fallback to old behavior
}

No entanto, o Swift equivalente:

if UIBlurEffect.self != nil {
  let blur: UIBlurEffect = UIBlurEffect(...)
  // ...
else {
  // ...
}

// also occurs with NSClassFromString("UIBlurEffect")

não tem a mesma funcionalidade.

Se executado em um ambiente ondeNSNewFeature está disponível, está tudo bem. Mas se a classe não estiver definida, recebo um erro de link ao iniciar o aplicativo:

dyld: Symbol not found: _OBJC_CLASS_$_UIBlurEffect

Então, como eu faço ligações fracas no Swift?

Editar AdicionadoUIBlurEffect como exemplo específico.

questionAnswers(2)

yourAnswerToTheQuestion