I have declared an NSMutableArray *categories in my view controller .h file, and declared a property for it.
NSMutableArray *categories
In the parser:foundCharacters:
parser:foundCharacters:
The "0x0" part is a memory address. Specifically, "nil", which means your mutable array doesn't exist at the time this is being called. Try creating it in your -init method:
categories = [[NSMutableArray alloc] init];
Don't forget to release it in your -dealloc.