Improved compiler errors for auto-synthesized conformances in Xcode 11codableprotocolscompilerPublished on 25 Jun 2019
Converting between String and Data without optionalsstringsdatadata transformationPublished on 15 Apr 2019
Using key paths to create convenience APIskey pathslanguage featuresdata transformationPublished on 16 Mar 2019
Checking whether an element was inserted into a settuplescollectionsstandard libraryPublished on 05 Dec 2018
Matching multiple enum cases with associated valuesswitch statementspattern matchingPublished on 12 Sep 2018
Combining lazily evaluated sequences with the builder patternthe builder patternsequencesPublished on 16 Feb 2018
Creating extensions with static factory methodsthe factory patternui developmentPublished on 23 Jan 2018
Using the where clause with associated typesgenericscode structurelanguage featuresPublished on 09 Jan 2018
Using first class functions when iterating over a dictionaryfunctionsdata transformationPublished on 08 Jan 2018
Dropping suffixes from method names to support multiple argumentsfunctionscode structurePublished on 03 Jan 2018
Expressively comparing a value with a list of candidatesapi designlanguage featuresPublished on 20 Dec 2017
Calling functions as closures with a tuple as parametersfunctionsfunctional programmingPublished on 13 Nov 2017
Setting up tests to avoid retain cycles with weak referencesmemory managementunit testingPublished on 22 Aug 2017
Using map to transform an optional into a Result typedata transformationresultPublished on 12 Aug 2017
Using associated enum values to avoid state-specific optionalsenumsstate managementPublished on 26 Jun 2017
Referring to enum cases with associated values as closuresenumslanguage featuresPublished on 03 Apr 2017
Calling initializers with dot syntax and passing them as closuresfunctionslanguage featuresPublished on 25 Mar 2017
Structuring UI tests as extensions on XCUIApplicationui testingcode structurePublished on 23 Mar 2017
Using #function for UserDefaults key consistencylanguage featuresuserdefaultsPublished on 15 Mar 2017
Using a name already taken by the standard libraryapi designlanguage featuresPublished on 07 Mar 2017
Using typealiases to reduce the length of method signaturestype aliasescode structurePublished on 23 Jan 2017
Referencing either external or internal parameter names when writing docsdocumentationPublished on 22 Jan 2017