Couple things had me a little confused:
Could you explain a little more why @retain@ is necessary in the implementation of @awakeFromNib@? I did not use it and my table seemed to display correctly.
Now for @tableView:objectValueForTableColumn:row:@, I did something completely different and I got the same result. Specifically I did not cast to @NSDictionary@ and I used @objectForKey:@ instead of @valueForKey:@. Is it really necessary to cast to @NSDictionary@ or will I run into trouble?