And Greg from Omni Group has an even better solution for you. Since DateFormatter inherits from Formatter, you can use its `string(for:)` which accepts optionals:
let dobString3 = serverDateFormatter.string(for:dob) ?? "" -- E > On Aug 4, 2016, at 3:17 PM, Erica Sadun via swift-users > <[email protected]> wrote: > >> >> On Aug 4, 2016, at 1:41 PM, Tim Vermeulen via swift-users >> <[email protected] <mailto:[email protected]>> wrote: >> >> You want `flatMap`: >> >> let dobString = dob.flatMap(serverDateFormatter.stringFromDate) >> >> Or if you want `dobString` to be non-optional: >> >> let dobString = dob.flatMap(serverDateFormatter.stringFromDate) ?? “" > > You can just use map here too, right? > > let dobString2: String = dob.map(serverDateFormatter.string) ?? "" > > I was a little surprised that this didn't need the rest of the selector > signature but that's because parameter stripping and type matching, isn't it? > >> >>> Currently I do stuff like this: >>> >>> letdobString:String >>> ifletdob = dob { >>> dobString =serverDateFormatter.stringFromDate(dob) >>> } >>> else{ >>> dobString ="" >>> } >>> >>> Is there a better, more idiomatic, way to do this sort of thing? >>> >>> >>> >>> >> _______________________________________________ >> swift-users mailing list >> [email protected] <mailto:[email protected]> >> https://lists.swift.org/mailman/listinfo/swift-users > > _______________________________________________ > swift-users mailing list > [email protected] <mailto:[email protected]> > https://lists.swift.org/mailman/listinfo/swift-users > <https://lists.swift.org/mailman/listinfo/swift-users>
_______________________________________________ swift-users mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-users
