The Swift Programming Language guide has the following example:
class Person { let name: String init(name: String) { self.name = name } var apar
If you're familiar with C#, this is like Nullable types which are also declared using a question mark:
Person? thisPerson;
And the exclamation mark in this case is equivalent to accessing the .Value property of the nullable type like this:
thisPerson.Value