In Objective-C, all objects are at the top level, and given global scope, they can be said to be in the same namespace. This is one reason for the convention among Objective-C developers, including Apple, to prefix their class names with two-or-three letter identifiers.
These prefix characters allow similarly named classes from different frameworks to be differentiated, for example, UIView from UIKit and SKView from SpriteKit. Swift solves this problem by allowing types to be nested within other types, providing namespacing with nested types and modules.