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.