@Albatross: Those were pointers, which ARE arrays (just felt like pointing the finger). That being said you're right... arrays seem like they'de make more sense in this case.
The issue there is how Apple's Interface Builder links with the code, it doesn't work with arrays.
I personally like Apple's use of [] for, as it's meant to be called, message-sending. It allows you to easily read the code out loud and be able to understand what is being done without really thinking about it. if ([command isEqualToString: @"reconnect"]) is a good example, and I've been writing my classes to match that naming convention.
That aside, the language IS verbose. Rather than being able to simply do myMethod, you have to do [self myMethod]. In addition to this, the "Objective" and "C" parts of the language don't mesh very well. Structs have strange properties when used within an Obj-C class, and you can't really make an array of Obj-C objects. You have to make an array of ids, which can be assigned to a pointer to an Obj-C object.
There is no real type-safety, you could cast some object to an id and then cast that to some other unrelated class and still not get any compilation errors, just warnings.
I'm a bit late to the party, but I thought I'd just give my input.