ninguna instancia de UICollectionViewLayoutAttributes para -layoutAttributesForSupplementaryElementOfKind:

El título es el error que obtengo y no tengo idea de por qué, pero aquí hay información, así que espero que alguien aquí pueda dilucidarme.

He subclasificadoUICollectionViewFlowLayout ya que esto me ahorra calcular los marcos para la celda (¿quizás esto es un problema?) enprepareLayout. Entonces uso elUICollectionViewLayoutAttributes información para calcular una vista complementaria que sobre la pone, obtengo el diseño que deseo.

yo sueloperformBatchUpdates:completion: para agregar, eliminar y actualizar la vista. La inserción funciona bien, sin embargo, la eliminación de elementos es cuando aparece el error que se muestra en el título.

Entonces sé por qué ocurre el error, pero no sépor qué debería estar sucediendo. Para aclarar con un ejemplo pasando por un escenario que causa el problema

Comience con 1 elemento con 1 vista complementaria 1 secciónAgregue dos elementos más (prepareLayout ve 3 elementos con 3 vistas complementarias)Eliminar elemento (prepareLayout ve 2 vistas con 2 vistas suplementarias)layoutAttributesForSupplementaryViewOfKind:atIndexPath: se llama pidiendo atributos para la ruta de índice consección: 0 y artículo: 2Se bloquea porque solicitó atributos para una tercera vista suplementaria, aunque anteriormente llamó preparar el diseño configurando 2 elementos y 2 vistas suplementariasAlza las manos con resignación y desesperación

así que la función ofensiva por lo que puedo decir es:

- (UICollectionViewLayoutAttributes *)layoutAttributesForSupplementaryViewOfKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath
{
    return self.layoutInfo[elementKind][indexPath];
}

que por supuesto se llama automáticamente por la red interna deUICollectionView así que no tengo idea de por qué está pidiendo esa vista complementaria en esa ruta de índice.

¿Alguien tiene alguna idea? Tal vez es como yo usoperformBatchUpdates:completion: pero la eliminación funcionó bien hasta agregar vistas adicionales. Puedo proporcionar más código / explicación según sea necesario.

Respuestas a la pregunta(2)

Su respuesta a la pregunta