In Objective-C, all objects can be treated as type id, and nearly all objects inherit from NSObject. (Blocks don\'t, but that\'s about the only exception.)
No. You've pretty much answered your own question--Swift objects don't have a base class, and the only real way to get around it is to inherit from NSObject.