区别?而且!在Swift语言?

前端之家收集整理的这篇文章主要介绍了区别?而且!在Swift语言?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > What is the difference between String? and String! (two ways of creating an optional variable)?7个
我在线阅读了很多文章并预订了(Apple),但我无法找出它们之间的区别?而且! Swift语言中的运算符.
override func tableView(tableView: UITableView!,cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!
    {

    }

    override func numberOfSectionsInTableView(tableView: UITableView?) -> Int {
        return 1;
    }

在上面的代码中,第一个func声明tableView为!并在第二个函数tableView中声明为?.

根据Apple官方文档:

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

猜你在找的Swift相关文章