NSFetchedResultsSectionInfo не согласен с самим собой о том, сколько объекты, которые у него есть

Я разместил это на форумах разработчиков Apple здесь, так как мне кажется, что это ошибка в реальном SDK, но я подумал, что выложу и здесь и посмотрю, сможет ли кто-нибудь проверить, или нет, я использую эту штуку неправильно (не похоже) или это неправильное поведение.

https://devforums.apple.com/thread/72738

-

После того, как немного отлаживая некоторый код, я обнаружил очень странное и тревожное поведение экземпляра NSFetchedResultsSectionInfo .

NSFetchedResultsController *frc = [self frcForTableView:tableView];

id  sectionInfo = [[frc sections] objectAtIndex:
                                                [indexPath indexAtPosition:1]];

NSLog( @"Looking at %@ with section %@ (%d objects)",
       indexPath, [sectionInfo objects], [sectionInfo numberOfObjects] );

Обычно я беру FRC, а затем вытаскиваю из него один из объектов sectionInfo (не Не беспокойтесь о том, почему я хватаюсь за позицию 1 пути индекса, а не за 0 ... здесь это не имеет значения). Интересно то, что вывод NSLog для вышеуказанного выглядит так:

Looking at  2 indexes [0, 0] with section (
    "TBN.B x 1 for order 1187",
    "TBN.T x 1 for order 1187"
) (1 objects)`

Итак, в массиве [sectionInfo objects] есть две вещи, но [sectionInfo numberOfObjects] сообщает, что у него есть только один. Чтобы исключить возможность проблемы с кешированием, я отключил все кэширование в настройке FRC перед запуском этого кода.

Здесь довольно тупик. Не знаю, как один объект sectionInfo может не соглашаться с самим собой по поводу того, сколько в нем объектов.

Есть идеи от разработчиков Apple? Запуск XCode 3.2.4 и SDK 4.1.

Редактировать: FYI, правильный объект для этого раздела на самом деле является первым (TBN.B), поэтому в моем тестировании до сих пор кажется, что если вы учитываете только часть массива объектов до numberOfObjects , то вы получите правильные результаты. Тем не менее, все еще любопытно, почему дополнительный объект появляется в конце массива, когда он не является частью этого раздела.

7
задан Paras Joshi 8 May 2013 в 09:07
поделиться