I learned Swift a few months ago and learn by doing the following:
I started with Swift Playgrounds just playing the programming games.
Than I moved to following YouTube videos the created simple apps like Task Trackers. After each tutorial I would challenge myself by attempting from scratch reproducing what I just learned which really reinforced the concepts.
Finally I moved on to just using the documentation and reviewing the examples provided by Apple in the swift documentation. They are better than I expected and go into specific features very well.