Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save JohnSundell/7d821519b6186dd6bcbea644a9d2c6cd to your computer and use it in GitHub Desktop.
Save JohnSundell/7d821519b6186dd6bcbea644a9d2c6cd to your computer and use it in GitHub Desktop.
Code sample #1 from my Medium post "Namespacing Swift code with nested types"
struct Post {
let id: Int
let author: User
let title: String
let text: String
}
class PostTextFormatter {
private let options: Set<Option>
init(options: Set<Option>) {
self.options = options
}
func formatTitle(for post: Post) -> String {
return post.title.formatted(withOptions: options)
}
func formatText(for post: Post) -> String {
return post.text.formatted(withOptions: options)
}
}
enum PostTextFormatterOption {
case highlightNames
case highlightLinks
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment