En utilisant ReactiveSwift, j'ai utilisé le code suivant:'String' n'est pas convertible en 'String?'
let alertMessageProperty = MutableProperty<String?>(nil)
...
.on(failed: { self.alertMessageProperty.value = $0.localizedDescription })
...
qui signifie:
self.alertMessageProperty.value
est de typeString?
- dans
.on(failed:)
,failed
est de type((Error) -> Void)?
si$0
est de type Erreur et$0.localizedDescription
est de typeString
. - Dans un terrain de jeu simple, affecter une
String
à une variableString?
fonctionne correctement, comme prévu.
Il ne compile pas et je reçois cette erreur:
'String' is not convertible to 'String?'
Je pense que String
est SO convertible en String?
. Que se passe t-il ici?
Versions: Swift 3.2 - ReactiveSwift 2.0.1
L'un est optionnel, l'autre ne l'est pas. – LinusGeffarth
La duplication possible de [Erreur: 'String' n'est pas convertible en 'String!'] (Https://stackoverflow.com/questions/38186121/error-string-is-not-convertible-to-string) – alseether
@alseether: Intéressant mais la réponse à ce poste n'est pas claire. Cela ressemble à un bug du compilateur Swift mais il n'est pas clairement mentionné tel quel. –