Swift Around the Web
In Swift 3,
@noescape is the default value in closures and is therefore deprecated. However, you now have to think about when to make a function escaping. Really good explanation of what
"I’ve seen it explained many ways, but essentially it boils down to this: timing and scope.
As in, will the passed inclosure be called post function invocation? If the function returns but we call the closure at a later point in time in the execution flow — then it’s most certainly escaped that function 🏃.
Though conversely, if we only expect that function to do its thing within the function’s scope — then it’s not getting its grimy mittens on anything else. Thus, it’s a non-escaping closure."
RawRepresentable isn’t limited to enums. It can also make sense for structs and classes to add conformance. Option sets also make use of the protocol (
OptionSet inherits from