The oficial Swift blog is giving us clarifications about Access Control and protected
It seems like it's their conscious decision to make an horizontal access control system instead of a vertical or hierarchy based.
Swift provides access control along a single, easy-to-understand axis, unrelated to inheritance. We believe this model is simpler, and provides access control the way it is most often needed: to isolate implementation details to within a class or within a framework.
There are other ways to accomplish the same thing that other languages do with protected. Apple is using it and we are using it also in Objective-C.
It may be different from what you’ve used before, but we encourage you to try it out.