I'm back in the saddle and learning Core Data in an app called Virtual Tourist that I'm working on. Core Data is quite interesting. It's also challenging to learn, but it's a powerful tool so I'm happy to dig into it.
In addition to the Core Data course on Udacity, I'm also reading two other books on the subject and it's interesting to see how the different approaches work. I have a favourite style among them but I'll start with a more basic implementation and improve on it as my understanding of everything involved grows.
Aside from working on apps, I've also invested my time in reviewing algorithms concepts and improving my knowledge of Swift with code challenges and thru reading an excellent book on the subject.
Code challenges are really cool and a good way to improve your skills. They force you to think in terms of edge cases which is what you should always do, of course. The beauty of those challenges is that they validate your code with some edge cases that you might have forgotten and that makes it a better learning experience than just trying things on your own without external validation.
I'm working on a graph theory challenge at the moment which is quite delightful. I just love coding!
Working on those code challenges also made me look into a wonderful app called CodeRunner which lets you run Swift code outside Xcode, complete with debugger (in addition to a number of other languages like Ruby and C++). I've been having fun with that. I've used it to refactor many of my Clan Lord macros in Swift and create a series of scripts that I can trigger with Typinator. That way I can invoke Swift scripts from the text interface in the game and make complex calculations (astronomical computations) with a simple keystroke.
It's such a satisfying thing to see the result of your coding efforts appear on the screen!