A guide to the fundamentals of using Swift for programming, weighing in on objects, protocols and generics.