Random thoughts from an unusual company

Adventures in iPhone development, Part 2

Tim Davis  13 October 2008 18:02:36
Only a short-ish posting this time, as I haven't done much on this project in the last week or so, being heavily involved in a major customer engagement.

We have decided to put the app out via the App Store. I think it'll be nice and easy. The next step in this process is going to be to shell out the $99 and get registered. It'll be fun sorting out the certificates, etc.

As far as the actual application itself goes, so far I have a very simple view listing some dummy sessions. These are stored in a SQLite database on the iPhone (or rather in the project folder on my Mac since I'm working in the simulator). The layout of the screens isn't perfect, as I haven't quite figured out the API yet, ie how to get the cells to behave exactly how I want.

Here is a screen-shot of the main view:

Image:Adventures in iPhone development, Part 2

...and here is a screenshot of the details view (shrunk down a bit):

Image:Adventures in iPhone development, Part 2

So, how is this put together?

An iPhone app is built around the concept of 'views'. Pretty much anything you are looking at is a view, whether it is a scrolling list, or an editable form, or a details screen. There is a 'window' object, which is the container for the app as a whole, and you don't do much with it. You basically swap various views in and out as you do different things within your app. In this app I have two views. One is the main list, and the other is the details screen. This is actually very similar to the 'screens' model that the BlackBerry uses, which is nice.

Within a view, you can have various objects, such as a navigation bar at the top, and a toolbar at the bottom, etc. If you are showing data, you can use a tableview. This has sections, within which you have rows, and within which you have cells. The list of sessions in the main view is a tableview with one section and a bunch of rows. The details screen has a tableview with three sections, each with a few rows. There are loads of other types of views, such as textviews, imageviews, webviews, etc.

It is quite fun playing with the Interface Builder, as this has a nice inspector where you can change the style of your views and other objects. I'm still getting the hang of how to manage the connections for owners, outlets and such-like. They're drag and drop, so I'm sure it'll be easy enough once I grok it.

The interesting stuff is going to be building the link to our Domino server for bringing down the data updates and creating calendar appointments. I already have a type-ahead search working, so I am drawing closer and closer to feature parity with the original BlackBerry app :-)

No Comments Found