Today we'll look at a few more interesting Swift tips and tricks. Let's get started.

Multiple Switch Cases

We'll start with a simple one. We can simplify messy switch statements by combining the similar cases. This is similar to how we can use multiple case statements in other languages, but a bit less wordy:

extension FirstOrderAPI { var method : HTTPMethod { switch self { case . Spaceships , . Crew , . Stormtroopers , . Planets : return . GET case . AddSpaceship , . AddCrewMember , . AddStormtrooper , . AddPlanet : return . POST case . RemoveSpaceship , . RemoveCrewMember , . RemoveStormtrooper , . DestroyPlanet : return . DELETE } } }

Operator Parameters

We can actually pass literal operators in as a parameter, for example:

[ 1 , 2 , 3 , 4 ] . reduce ( 0 , combine : + )

This works because the + operator is actually a function under the hood:

public func + ( lhs : Int , rhs : Int ) -> Int

Simpler Reuse Identifiers

In Objective-C, It's quite common to use NSStringFromClass to use a cell's class name as it's reuseIdentifier . In Swift though:

let reuseIdentifier = String ( SpaceshipTableViewCell )

Shout out to Natasha for pointing this one out!