Today was a 100% Swift day with a decent amount of progress. As expected, I continued with the list of Ray Wenderlich tutorials in an attempt to better understand Storyboard. I got through a tutorial and a half, but then ran across some bugs that I still have no idea how to fix. In particular, at one point in the code we were trying to set the image property of a UIView, where the UIView came from an action being linked to the code on the Storyboard. Because of this, I was uncertain of the initialization and how it worked, and this was indeed the problem — the error code claimed that this image property was nil, and since I had not in fact initialized it, I had no idea where to look to fix it. The link between the Motherboard and the code looked fine, and I did attempt to redo that, to no avail. Because of this I gave up on that tutorial and went on to the next one.
The next tutorial I tried also brought up an issue that I couldn’t fix, this time of a protocol that was required for a class but not provided in the tutorial. I considered learning about the protocol and doing it myself, but the first few lines of code that I tried gave me a lot of errors with the existing code, so I didn’t complete this tutorial either. At this point I have a feeling that these tutorials are out of date, and that either Xcode or Swift have been updated, with these tutorials falling behind on some of the technicalities.
Finally, then, I decided to do something completely different. The tutorial that Adam had been working on earlier in the week allowed one to make a game that is a lot like Candy Crush Saga, and I decided to make my own version of this game adhering closely to this tutorial. Instead of making this exact theme, I settled for “engineer” things — instead of cookies and candy, my game board has circuits and sensors; instead of Candyland, my background is a circuit board. So far this has been instructive in teaching me about the many layers that go into the UI. I hope to get further with this over the course of next week; as always, all my functional code is on my GitHub.