2014-06-30 70 views
9

我在網上看了很多文章和書(蘋果),但我無法找出區別?和! Swift語言中的運算符。區別?和!在Swift語言中?

override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! 
    { 

    } 

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

在上面的代碼中,第一個func將tableView聲明爲!並在第二個函數tableView被聲明爲?。

+2

這些符號在Apple的免費快捷書籍中有解釋。 – John

回答

39

按照蘋果的官方文檔:

當與可選值時,您可以寫?在操作 之前,像方法,屬性和下標。如果之前的值? 是零,應有盡有?被忽略,整個 表達式的值爲零。否則,可選值是否被解包,並且後面的所有內容都是?作用於未包裝的價值。在這兩種情況下,整個表達式的 值都是可選值。

確定可選項包含值後,您可以通過在可選名稱的 末尾添加感嘆號(!)來訪問其基礎值。感嘆號有效地說,「我 知道這個可選肯定有一個值;請使用它。」強迫可選的值(...)

蘋果公司‘雨燕編程語言’的展開這 是已知的。 iBooks的。 https://itun.es/nl/jEUH0.l

相關問題