Objective-C не выполняет автоматическое преобразование не-объектов и объектов. (то есть это не "автоматическая коробка".)
Кроме того, спецификатор формата %i
является , а не спецификацией unbox. Итак, если у вас есть NSNumber*num
, вы либо делаете
NSLog(@"%@",num) // show as an object
или
NSLog(@"%d",[num intValue]) // show as an int.
Эта строка также неверна:
NSNumber *rowsNumber = [NSNumber numberWithInt: [[self.fetchedResultsController sections] objectAtIndex:section] ];
Прежде всего, [[self.fetchedResultsController sections] objectAtIndex:section]
- это объект, который вы только что получили в
id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section];
Вы не можете передать его на numberWithInt:
. Вы получаете количество строк, используя sectionInfo.numberOfObjects
. Итак, строка должна быть
NSNumber *rowsNumber = [NSNumber numberWithUnsignedInteger:sectionInfo.numberOfObjects];