gpt4 book ai didi

ios - UICollectionView 无效索引路径崩溃

转载 作者:行者123 更新时间:2023-12-01 16:32:38 26 4
gpt4 key购买 nike

我在 UICollectionView 尝试滚动到无效索引路径 {length = 2, path = 0 - 0} 时发生崩溃。

这是否意味着我的 Collection View 大小为 2,但我试图滚动到第 0 节索引 0?在这种情况下,这不是一个有效的卷轴吗?

从那以后,我们已经消除了使用 NSFetchedResultsController 的不必要的复杂性,这可能导致崩溃,但我仍然对错误消息的读取方式及其含义感到好奇?

这是代码

void fetch() {

// get data from core data using a FetchRequest
do a perform fetch to get my item

// loop through to see which index the item I want is at
loop through result {
if (my id matches core data id) {
self.selectedIndex = x;
}
}

// get more from core data using a Fetch Request
create another FetchedResultsController
do another fetch to get all other items

[self.myCV reloadData];

// find the index path for the item I want to scroll to
NSIndexPath *indexPath = [NSIndexPath indexPathForItem:self.selectedIndex inSection:0];

[self.myCV scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally | UICollectionViewScrollPositionCenteredVertically animated:NO];
}

// UICollectionView delegate methods
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return [[self.fetchedResultsController sections] count];
}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
id<NSFetchedResultsSectionInfo> secInfo = [[self.fetchedResultsController sections] objectAtIndex:section];
return [secInfo numberOfObjects];
}

最佳答案

我们也收到了很多相同的崩溃反馈,
原因是reloadData后立即使用scrollToItemAtIndexPath方法,我们使用这段代码成功修复。

[self.myCV reloadData];
[self.myCV.collectionViewLayout invalidateLayout];
if (self.myCV.numberOfSections != 0) {
NSIndexPath *indexPath = [NSIndexPath indexPathForItem:self.selectedIndex inSection:0];
[self.myCV scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally | UICollectionViewScrollPositionCenteredVertically animated:NO];
}

关于ios - UICollectionView 无效索引路径崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30998788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com