- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试插入删除单元格(有 2 个补充标题部分)时,使用带有 FlowLayout 的 swift UICollectionView 时,它会给出以下错误:
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:第 1 节中的项目数无效。更新 (1) 后现有部分中包含的项目数必须等于项目数更新前包含在该部分中的 (0),加上或减去从该部分插入或删除的项目数(0 插入,0 删除)以及加上或减去移入或移出该部分的项目数(0 移入, 0 移出)。'
每当我将部分设为 1 时,insertItemsAtIndexPaths 和 deleteItemsAtIndexPaths 都工作正常。我正在使用 IOS9 和 swift 。看过很多帖子并尝试过很多东西,但一直被困在这里。 var selectedPlayerDispCollection = [(String, PlayersProfile)]
func numberOfSectionsInCollectionView(collectionView:UICollectionView!) -> Int {
return 2
}
func collectionView(collectionView: UICollectionView!,numberOfItemsInSection section: Int) -> Int {
return selectedPlayerDispCollection.count
}
func performBatchUpdates(updates: (() -> Void)?,
completion: ((Bool) -> Void)?){
self.collectionView.reloadData()
}
**// For now adding in section 0 , depending on condition will add in section 0 or section 1
func addPlayerView(playertapped : PlayersProfile) {
let count = selectedPlayerDispCollection.count
//let index = count > 0 ? count - 1 : count
let index = count
let playerDisSec = [(playertapped.playerSpeciality, playertapped)]
selectedPlayerDispCollection.insert(playerDisSec, atIndex: index)
let indexPath = NSIndexPath(forRow: index, inSection: 0)
collectionView.insertItemsAtIndexPaths([indexPath])
}**
/*func addPlayerView(playertapped : PlayersProfile) {
let count = selectedPlayerDispCollection.count
let index = count > 0 ? count - 1 : count
selectedPlayerDispCollection.insert(playertapped, atIndex: index)
let indexPath = NSIndexPath(forRow: index, inSection: 0)
collectionView.insertItemsAtIndexPaths([indexPath])
}*/
最佳答案
正如我的评论所说:问题是您使用一个数组来确定两个部分中的项目数。因此,从数组中删除一项会导致 Collection View “丢失”两个单元格。丢失两个单元格并不符合您告诉 collectionView 的内容:删除 indexPath abc 处的一个单元格。
解决方案一
使用两个单独的数组作为每个部分的支持,或使用一个包含子数组的数组。
方案二
告诉 collectionview 删除/添加两个项目:
if let index = selectedPlayerDispCollection.indexOf(playertapped){
let indexPath0 = NSIndexPath(forItem: index, inSection: 0)
let indexPath1 = NSIndexPath(forItem: index, inSection: 1)
selectedPlayerDispCollection.removeAtIndex(index)
collectionView.deleteItemsAtIndexPaths([indexPath0, indexPath1])
}
添加新项目时必须使用相同的逻辑。
关于ios - NSInternalInconsistencyException',原因 : 'Invalid update: invalid number of items in section 1 - While having multiple Sections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34567221/
我的 iOS 应用程序出现奇怪的错误。从昨天开始一切都运行良好,今天我对一个与 AppDelegate 无关的 View Controller 做了一些改进,当我试图测试我在模拟器上所做的更改时,我得
所以,我正在尝试一下 iOS 编程。时间不多,但我已经推迟学习太久了。但我被这个奇怪的问题困扰了两天。当我尝试将单元格添加到我的 collectionView 时,出现以下错误。 'NSInterna
我的应用程序发生了奇怪的崩溃(仅限 iPad 的 9.x),我不确定如何调试它,因为日志无助于发现正在发生的事情。 最奇怪的是日志显示Auto layout internal error ,但我的应用
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid updat
我想在 swift 中创建一个弹出窗口,并在用户单击按钮时显示它。我不使用 Storyboard , View 是通过编程创建的。 class CreateNoticePopupViewControl
我在仅限 iOS 12 的 crashlytics 上遇到此崩溃。 有人知道这是什么吗?看起来与推送通知相关,但我们的应用中还没有。 致命异常:NSInternalInconsistencyExcep
我已经阅读了有关此错误的所有内容,但仍然无法确定为什么它会在我的应用程序中发生。 使用后台上下文保存多个 Core Data 对象时出现以下错误: *** 由于未捕获的异常“NSInternalInc
我正在尝试从 UITableView 中删除行 -(void) closePickerViewRow:(id) sender { if(self.pickerIsShown && [self.
我在 IOS 上使用 PhoneGap 2.9.0 并为 iPhone5 构建应用程序。 我正在尝试更改启动画面,我遵循了 phonegap 解释 我的行动: 1. 在 iPhone project
对,我有 5 次观看。其中一个 View 称为 RecordViewController。 (RecordViewController 导致错误)我可以很好地切换 View 。但是一旦我进入记录 Vi
在搜索解决方案后我无法解决这个问题,我有这段代码来列出核心数据中的数据: import UIKit import CoreData class ViewControllerClass: UITable
我遇到了一个问题,我有一个忘记密码选项,我在其中放置了一个带有输入字段的 UIAlertView。 UIAlertView *alertView = [[UIAlertView alloc] init
我想用 Objective-C 做一个带有表搜索的 iOS 应用程序。我试过这个项目: https://github.com/versluis/Table-Search-2015 现在我尝试在导航 V
我在 View Controller 之间切换时遇到问题。 我的 md360AppDelegate.h header 如下所示 #import @class md360ViewController;
更新方法: override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingS
每当我尝试使用 AVPlayer 从 url 流式传输歌曲时,我都会收到 NSInternalInconsistencyException 错误。我在结构上制作了一个全局流播放器,以便我的流播放器可以
我正在尝试向我的应用添加容器 View 。但是,它不断崩溃并出现以下错误: 'NSInternalInconsistencyException',原因:'containerView 是必需的。' 我做
尝试保留(更新)标识对象 (persistIdentity:error:) 时版本不匹配失败。对象版本=1229,持久版本=1230。 #10. Crashed: com.twitter.crashl
更新:看来我设法识别了单元格,所以原来的问题解决了。但是现在,截断相同的代码后,出现以下错误: 2012-10-31 15:21:41.857 Laktase[22658:11603] -[NSMan
我有这段代码试图在后台获取 HealthKit 数据。当我第一次运行该应用程序时,代码运行良好,但如果我手动执行后台提取(使用调试命令),我会抛出一个异常并显示一个错误,内容为 reason: 'th
我是一名优秀的程序员,十分优秀!