nenhuma instância UICollectionViewLayoutAttributes para -layoutAttributesForSupplementaryElementOfKind:

O título é o erro que estou recebendo e não faço ideia do porquê, mas aqui estão algumas informações, então espero que alguém aqui possa me esclarecer.

Eu tenho uma subclasseUICollectionViewFlowLayout pois isso me poupa calcular os quadros para a célula (talvez isso seja um problema?) emprepareLayout. Então eu uso oUICollectionViewLayoutAttributes informações para calcular uma visão suplementar que a expõe, obtenho o layout que desejo.

eu usoperformBatchUpdates:completion: para adicionar, remover e atualizar a exibição. A inserção funciona bem, no entanto, a exclusão de itens ocorre quando o erro mostrado no título é exibido.

Então eu sei por que o erro está acontecendo, mas eu não seipor que isso deveria estar acontecendo. Para esclarecer com um exemplo passando por um cenário que causa o problema

Comece com 1 item com 1 vista suplementar 1 seçãoAdicione mais dois itens (prepareLayout vê 3 itens com 3 vistas suplementares)Excluir item (prepareLayout vê 2 visualizações com 2 visualizações suplementares)layoutAttributesForSupplementaryViewOfKind:atIndexPath: é chamado solicitando atributos para o caminho do índice comseção: 0 e item: 2Erro fatal porque solicitou atributos para uma terceira visualização suplementar, embora anteriormente tenha chamado de preparar o layout configurando 2 itens e 2 visualizações complementaresJogue as mãos para cima em resignação e desespero

então a função incorreta, tanto quanto eu posso dizer, é:

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

que obviamente é chamado automagicamente pela rede interna deUICollectionView então não tenho idéia do motivo pelo qual está solicitando essa visualização suplementar nesse caminho de índice.

Alguém tem alguma idéia? Talvez seja assim que eu usoperformBatchUpdates:completion: mas a exclusão funcionou bem até adicionar visualizações adicionais. Eu posso fornecer mais código / explicação conforme necessário.

questionAnswers(2)

yourAnswerToTheQuestion