我在线阅读了很多文章并预订了(Apple),但我无法找出它们之间的区别?而且! Swift语言中的运算符.
override func tableView(tableView: UITableView!,cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! { } override func numberOfSectionsInTableView(tableView: UITableView?) -> Int { return 1; }
When working with optional values,you can write ? before operations
like methods,properties,and subscripting. If the value before the ?
is nil,everything after the ? is ignored and the value of the whole
expression is nil. Otherwise,the optional value is unwrapped,and
everything after the ? acts on the unwrapped value. In both cases,the
value of the whole expression is an optional value.Once you’re sure that the optional does contain a value,you can
access its underlying value by adding an exclamation mark (!) to the
end of the optional’s name. The exclamation mark effectively says,“I
know that this optional definitely has a value; please use it.” This
is known as forced unwrapping of the optional’s value (…)
Apple Inc.的“Swift编程语言”. iBooks的. https://itun.es/nl/jEUH0.l