Having worked through almost 8 chapters of Hillegass' “Cocoa Programming for Mac OS X”, I am beginning to feel confident in my Objective C coding abilities. The code no longer looks like a huge mess, and for the most part, I understand what is going on. Here are a few examples of projects from the book that I have completed (in no specific order):
1. The Count Characters Challenge This challenge required me to figure out the right messages to send to get the correct character length return. It used interface builder a bit to make the GUI.
2. Speak a Line This example shows off the abilities of Target and Action in the Interface Builder. The main focus was on getting the stop button to be available only when it is “talking,” and vice-versa for the start talking box. Additionally, this application uses delegates a bit - so a brief explanation of what a delegate does and how it works was given.
3. Make a Random Number This application was a lesson in becoming comfortable with the XCode environment. A big part of this included switching back and forth from the main XCode application and the Interface Builder. I am still a bit slow at doing so and knowing when I need to be in one or the other. Perhaps with more “challenge”-like problems, I will learn when I need to be doing something in Interface Builder and when I need to just be coding in XCode.
4. Fido App This task really emphasized the use of key-value coding, key-value observing, and binding things together. Binding things together really takes out a lot of the leg-work that existed when using the ObjectDraw library in Java!
5. Raise Man - Or Giving Raises to People I am not quite done with this application yet. However, I have already learned a great deal more about Objective C. This application is a document-based application as opposed to a windows-based one. I have started using @synthesize for objects that need pretty “common” accessor and getter methods - so nice! The bulk of this application so far has been binding and connecting various GUI objects with methods. This can sometimes get a bit confusing if you accidentally connect something backwards or leave out a required binding. However, the current app allows for new “Employees” to be added and their names and raise amounts changed and save. I am excited to see where this project ends!
After working through these chapters, I think that I need to go ahead and start watching the Stanford lecture series and working through some of their homeworks. Although it is rather helpful to walkthrough examples given in a book, I don't feel any sort of mastery over what I have learned. My goal for the next two weeks is to complete at least two, possibly three, challenge problems from Hillegass or homeworks from Stanford.
Apparently my last post was wrong. After searching the tubes a bit more, I found this discussion thread on Apple.com. The error I had been getting was “Error from Debugger: Failed to launch simulated application: iPhone Simulator failed to install the application.” I thought that it had something to do with needing a certificate. However, that was incorrect. As far as I understand, you only need a certificate to load software onto a physical iPod. The problem I was running into stemmed from the machines I was using. Because I was using a computer in the Landscape Analysis Lab and one in Woods 119, I wasn't being given full administrator privileges. Therefore, the iPhone Simulator wasn't able to create the directories it needed. After downloading the 3.1 SDK on my laptop, I was able to build applications no problem! After turning around and running the wrong direction for a bit, I have successfully turned around and re-jumped that first hurdle!
Here is a screen shot of one of Stanford's first assignments Sewanee-style!
After reading through a Stanford Assignment, I decided it was time to Build and Run the App I was working on. So I hit the “Build” button. As my luck would have it, nothing happened. I checked the error messages and it informed me that there was something wrong with my certificate. Come to find out, you need a certificate to start making apps. Why don't they tell you this in any of the tutorials? It is a significant part in getting started! So I started sniffing around the Developer Connect - no mention of how to obtain certificates. After doing a bit more research, I realized I hadn't fully completed my registration as an iPhone Developer. I scrounged through some emails and found the email I needed to finish the process. After finally gaining access to the iPhone Developer Portal, I was able to successfully request a certificate. Hurdle number one - successfully jumped.