Get the best design and development resources delivered straight to your inbox.

Swift has evolved since 1.x to have a fluctuating amount of magic/implicit bridging from ObjC and Foundation types, sometimes going in the opposite direction towards very explicit type conversions.

We've started seeing more of what the "steady state" looks like as Swift 3.x/4.x development matures.

In the early days, Swift users would need deep compiler internal implementation details to know which NSNumber-representable type could implicitly convert. As of SE-0139 that's a lot clearer.

The subtleties of unenforced protocol conformance semantics: https://oleb.net/blog/2016/12/protocols-have-semantics/

Proposals on bridging

Join Spec on Slack

Come chat with our community of 7,000+ designers and developers!