Okay, I know I must be missing something obvious here. Here’s the sample code (which, when executed within a viewDidLoad block silently crashes… no error output to debug console).
NSMutableArray *bs = [NSMutableArray arrayWithCapacity:10];
[bs addObject:[NSNumber numberWithInteger: 2]];
NSLog(@"%@", [bs count]);
[bs release];
What am I missing?
Oh… and in case anyone is wondering, this code is just me trying to figure out why I can’t get the count of an NSMutableArray that actually matters somewhere else in the program.
[mutableArray count] returns a NSUInteger. In your NSLog, you specify a %@, which requires a NSString. Obj-C does not automatically cast integers into strings, so you’ll need to use:
Bone up on how to use string formatting. Here’s a link:
http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html#//apple_ref/doc/uid/TP40004265-SW1
You’re also releasing an object that already autoreleased. As a rule of thumb, don’t ever call release/autorelease on an object, unless you yourself have also done an alloc/retain/copy on it. The majority of the time, objects you get from other class methods have already been autoreleased for you, so you shouldn’t do another release.