#swift #exc-bad-access #xcode13 #performbatchupdates
Вопрос:
Я тестирую свое приложение в бета-версии 5 Xcode 13 на симуляторе iOS 15. Существует представление коллекции, которое вызывает EXC_BADACCESS (code=2, address=0x7ffee930ef38)
ошибку при performBatchUpdates
вызове. Этот метод отлично работает в более низких версиях (например, iOS 14.2). Я попытался собрать больше информации об ошибке с помощью диагностики схемы (дезинфицирующее средство для адресов, дезинфицирующее средство для потоков, зомби-объекты и т. Д.) И дважды проверил, что я использую слабые ключевые слова, где это уместно, но безуспешно.
У кого-нибудь еще есть подобная проблема с тестированием iOS 15 в Xcode 13? Возможно, это просто бета-версия? Вот несколько примеров кода:
var heightConstraint: NSLayoutConstraint!
let loadingHeight: CGFloat = 100
let interItemSpacing: CGFloat = 8
func reloadCollectionView() {
collectionView.reloadData()
UIView.performWithoutAnimation { [weak self] in
self?.collectionView.performBatchUpdates(nil, completion: { _ in
self?.collectionView.collectionViewLayout.invalidateLayout()
self?.updateHeight
}
}
}
func updateHeight() {
if loading {
heightConstraint.constant = loadingHeight
} else {
heightConstraint.constant = collectionView.collectionViewLayout.collectionViewContentSize.height - interItemSpacing
}
}