Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.54 KB | None | 0 0
  1. import Foundation
  2.  
  3. extension Optional {
  4. func defaultValue<T>(_ defaultValue: T) -> T {
  5. switch self {
  6.  
  7. case .none:
  8. return defaultValue
  9. case .some(let value):
  10.  
  11. guard let valueT = value as? T else {
  12. return defaultValue
  13. }
  14. return valueT
  15. }
  16. }
  17. }
  18.  
  19. func defaultDate() -> Date {
  20. print("Called")
  21. return Date()
  22. }
  23.  
  24. let myDate: Date? = Date()
  25.  
  26. let _ = myDate.defaultValue(defaultDate()) // This will print "Called", even when myDate is clearly not nil.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement