Grouping throwing expressions using tuplesBasics article available: Error Handling
Tuples can not only be super useful in order to group multiple related local variables into one, but can also be a great way to combine several throwing expressions.
// Here we have three highly related expressions that are // all throwing, requiring separate assignments and separate // 'try' keywords: let contentFolder = try Folder.current.subfolder(named: "content") let templatesFolder = try Folder.current.subfolder(named: "templates") let output = try Folder.current.createSubfolderIfNeeded(withName: "output") // By combining them all into a tuple, we only need one // 'try', and can easily group our data into a single, // lightweight container: let folders = try ( content: Folder.current.subfolder(named: "content"), templates: Folder.current.subfolder(named: "templates"), output: Folder.current.createSubfolderIfNeeded(withName: "output") ) // The call sites also become really nice and clean, with // increased "namespacing" for our local variables: readFiles(in: folders.content) loadTemplates(from: folders.templates)
For two weeks, many websites around the Swift community are featuring indie developers who have been financially impacted by the current pandemic. If you can, please help support these indies by downloading their apps. Today’s app is...
Endless Paper: An infinite (yes, really!) iPad canvas for you to draw, sketch ideas, and organize your work on — which you can then also broadcast as an online whiteboard. Features a custom Metal rendering engine and rock-solid performance.