回答
爲了完整起見,Optional
有一個map()
方法:
/// If `self == nil`, returns `nil`. Otherwise, returns `f(self!)`.
@warn_unused_result
@rethrows public func map<U>(@noescape f: (Wrapped) throws -> U) rethrows -> U?
因此
index != nil ? index! + 1 : nil
相當於
index.map { $0 + 1 }
我喜歡+ 1這個增量更明顯,它可以和任何其他數字一起使用:) –
可以調用使用可選的successor
財產鏈:
return index?.successor()
對於任意值,advancedBy
作品:
return index?.advancedBy(15)
如果你發現自己在做很多次你的代碼,你可以定義你自己的+
運營商,增加一個Int
一種Int?
:
func +(i: Int?, j: Int) -> Int? {
return i == nil ? i : i! + j
}
然後,你可以只是做:
return index + 1
好的除了你的答案! –
謝謝!我又添了一個。 – vacawama
您可以通過前面加上一個問號電話可選呼籲可選的任何方法,而這個工程的後綴運算符太:更一般
return index?++
你也可以寫:
index? += 1; return index
正如在一個被刪除的問題中所說的,當索引是一個常量時(let) –
'回報指數? + = 1'不起作用。它給出編譯錯誤'錯誤:不能轉換返回表達式的類型'()?'返回類型'Int?'' – vacawama
你是對的。我編輯了我的代碼片段來解決問題。無論如何,它仍然不符合使用的要求,並且使用地圖已經有了一個很好的答案。 –
- 1. 有沒有一種漂亮的方式可以將IEnumerable分成兩組?
- 2. Git確認消息漂亮格式:有沒有一種方法來格式化多行主體
- 3. 有沒有一種等同的方式來從XML加載GMenu?
- 4. 有沒有一種方式來增加「-lpthread」默認不修改Makefile文件
- 5. 有沒有一種方法來設置一個int爲001
- 6. 有沒有一種優雅的方式來摺疊不斷增長的scala.collections.mutable.Queue?
- 7. 以一種漂亮的方式格式化查詢參數
- 8. 有沒有一種安全的方式來迭代std :: unique_ptr <int[]>?
- 9. 有沒有一種簡單的方法來實現Django-CMS中的「漂亮鏈接」,類似於WordPress漂亮鏈接插件?
- 10. Django的`loaddata`漂亮的方式來加載不同的PK(ID)
- 11. 有沒有可以製作漂亮圖形的PHP圖形庫?
- 12. 在一個漂亮的方式
- 13. 有沒有一種直接的方式來選擇jqGrid中的組內的行?
- 14. JSF 2.2 h:inputFile沒有漂亮的臉孔
- 15. 漂亮的URL沒有安裝路徑
- 16. Apiary:有沒有一種方法來定義參數的選項?
- 17. 有沒有一種可靠的方式來啓動Android的啓動活動?
- 18. 有沒有一種通用的方式來進行此轉換?
- 19. 有沒有另一種方式來啓動Android的振動?
- 20. 有沒有一種簡單快捷的方式來生成JavaScript?
- 21. 有沒有一種方式來設置HTML5的範圍控制?
- 22. 有沒有一種方法來增加文本字段的高度除了增加字體大小
- 23. 有沒有一個漂亮的程序演示perl OO?
- 24. 有沒有一種很好的方式來可視化大量子圖(> 500)?
- 25. 有沒有一種將熊貓數據框轉換爲漂亮的HTML表格的快速方法?
- 26. 有沒有一些漂亮的方法來確定一個Hibernate對象是否是「活的」?
- 27. 有沒有一種標準化的方式來向rss添加位置數據?
- 28. 有沒有一種更加矢量化的方式來沿軸執行numpy.outer?
- 29. 有沒有一種優雅的方式來確定ifstream是否附加到stdin?
- 30. 有沒有一種方法來選擇的,我想知道是否有一種方法使用jQuery(以鏈接的方式)來選擇以下類型
不要緊。 – Arc676
不是簡單的數學運算符不適用於可選項。 –