Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save armcknight/df1a304f22b03958d4ca2802523e9baf to your computer and use it in GitHub Desktop.
Save armcknight/df1a304f22b03958d4ca2802523e9baf to your computer and use it in GitHub Desktop.
In model/business logic returning collections, returning nonoptional collection types simplifies consumer logic, and throwing errors clearly communicates failure modes.
func modelLayerFunction() throws -> [Any] { /* ... */ }
func controllerFunction() throws -> [Any] {
let models = try modelLayerFunction()
// ...
return models
}
do {
let results = try controllerFunction()
// work with result
} catch {
// log error and/or show alert
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment