NSNumber имеет сообщение stringValue, которое возвращает объект как NSString:
NSString *foo = [myNSNumber stringValue];
В качестве альтернативы, если у вас есть примитивное значение, например NSUInteger, или число с плавающей запятой, вы можете напрямую использовать NSString:
NSUInteger nsuint = 20;
CGFloat fff = 21.0;
NSString *foo = [NSString stringWithFormat:@"%ld",(long)nsuint];
// или
NSString *foo = [NSString stringWithFormat:@"%f",fff];
Однако вопрос Оле стоит. Одним из способов выяснить это может быть перебор массива с запросом описаний:
int count = 0;
for (id item in myMutableArray) {
count +=1;
NSLog(@"Item %d is a %@", count, [item description]");
}
Это не всегда дает разумные результаты, но часто дает.