I'm pretty sure apple decided to move onto structures for safety reasons. The cells in a Dictionary were still pointers. This created pretty hazardous situations when copying them. I myself find it a good move to make them structures.
Smalltalk solved that problem 36 years ago. They could have moved to full on real Smalltalk. No language has ever felt as expressive or powerful to me as Smalltalk. Objective C was a fair approximation (except for the square bracket madness).
Im finding that Swift forces my attention from the problem domain into the implementation domain a lot. Much attention is now paid to unwrapping optionals and making types "match". Many of the more dynamic features I like and lean on are gradually being phased out in the name of "speed" (really? I haven't had to optimize anything for speed in years) and "safety" (unwrapping a nil optional now terminates your program - why not just attach a bomb to the flaps switch in airplanes that goes off if flaps are deployed at too high an airspeed - that'll make those planes MUCH SAFER!).
I'm definitely starting to move away from Apple in all respects. I'd rather write PHP than Swift.