Swift variable des décorations avec des “?” (point d'interrogation) et “!” (point d'exclamation)

Je comprends que Swift toutes les variables doivent être définies avec une valeur, et que par l'utilisation d'options, nous pouvons définir une variable à définir nil initialement.

Ce que je ne comprends pas, c'est, ce que la définition d'une variable avec un ! est en train de faire, parce que j'étais sous l'impression que cette "déballe" d'une valeur d'une option. J'ai pensé en le faisant, vous garantissent que il ya une valeur à déballer dans cette variable, c'est pourquoi sur IBActions et vous voyez qu'il est utilisé.

Donc, tout simplement, qu'est-ce que la variable initialisée à quand vous faites quelque chose comme ceci:

var aShape : CAShapeLayer!

Et pourquoi/quand puis-je faire?

  • Vous voulez faire cela pour dire qu'une variable est nt néant après - vous vérifié ce fait.
  • Je ne pense pas que cela devrait être marqué comme un doublon. "Qu'est ce qu'une option?" n'est pas la même question comme "Quelle est la différence entre les deux types d'options?", qui est à peu près ce que cette question est
  • même dans ce cas, il y a déjà des tonnes de questions concernant les options, implicitement déballé options, et la comme. Vous pouvez également vous reporter à celui-ci: stackoverflow.com/questions/24272781/...
  • Ok, mais je suis sûr que cette question n'était pas d'un doublon lorsqu'il a été demandé. (il a été demandé une semaine avant votre exemple, par exemple)
  • Vous faites un bon point, je n'ai pas remarqué ce fut plus..peut-être que l'autre devrait être marqué comme un doublon de celui-ci à la place..