Handling empty optional strings in Swift

When does an Optional String have a value? In most cases, it is when it is both non-nil and non-empty. However, checking that both of these are true for Optional Strings can be cumbersome in Swift. This post from Nathan Chan provides a handy Swift extension to make things a bit easier.