- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基本上第一次运行它是完美的然后第二次它崩溃了。我有一些图片显示它在哪一行代码上崩溃。该问题似乎与执行批处理有关。
代码:
let ref = Database.database().reference().child("test")
ref.observeSingleEvent(of: .value, with: { (snapshot) in
if let snapDict = snapshot.value as? [String:AnyObject] {
for snap in snapDict {
if snap.key == "testValue" {
self.log.performBatchUpdates({
let indexPath = IndexPath(row: group.count, section: 0)
group.append("textHere")
self.log.insertItems(at: [indexPath])
}, completion: nil)
}
}
最佳答案
您正在尝试在循环中添加多个新值,但一次添加一个。最好将它们全部批量放入一个插入件中。
let ref = Database.database().reference().child("test")
ref.observeSingleEvent(of: .value, with: { (snapshot) in
if let snapDict = snapshot.value as? [String:AnyObject] {
var newPaths = [IndexPath]()
for snap in snapDict {
if snap.key == "testValue" {
let indexPath = IndexPath(item: group.count, section: 0)
newPaths.append(indexPath)
group.append("textHere")
}
}
if !newPaths.isEmpty {
self.log.insertItems(at: newPaths)
}
}
}
我不使用 Firebase,但据我所知,它的完成处理程序是在主队列上调用的。如果不是,则需要更新此代码,以便 if let snapDict...
中的此代码在主队列上运行。
另请注意,在使用 Collection View 时,您应该创建一个带有 item
和 section
的 IndexPath
。在 TableView 中使用 row
和 section
。
关于ios - 在 CollectionView Swift 上第二次调用 (insertItems) 时应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49291302/
目前正在用 MFC 编写一个基于对话框的应用程序,当按下主对话框上的按钮时创建一个子对话框。子对话框然后有 3 个编辑控件框和一个按钮。当按下按钮时,来自三个编辑控制框的信息被检索并存储为单独的 CS
我目前正在尝试创建一个使用尾递归的双向链表。 我的 addItem 已完全正常工作。我的 InsertItem 在指定索引处成功插入和项目。但是它会删除那里的任何项目并且不会移动所有数据。当尝试在索引
所以,我有一个 UICollectionView,我可以在其中插入新项目。 我使用了 Collection View Programming Guide 中的大部分建议- “让插入和删除动画更有趣”部
我有一个相当简单的 PyQt 问题。 (Python 3.4、PyQt 4.11.3、Qt 4.8.5)我使用 Qt Designer (Ui_Dialog) 构建了一个非常简单的对话框。该对象有一个
我有一个包含 10000 条记录的 CListCtrl,当程序启动时它会被填满,这个操作的时间约为 1.3 秒。但如果用户刷新列表,它会在 ~2.5 - 3 秒内填满。 在这两种情况下工作的是同一段代
非常感谢您抽出时间!我一直在使用 Collection View ,并且完全被我的代码的一小部分所困扰,它的行为不符合我的预期。这是两行(我认为是唯一相关的): diceCollectionView.
我在 wordpress 主题中使用响应式 CarouFredSel slider 。我在窗口宽度更改时删除并放回 slider 元素(第一个 slider 元素,即菜单):如果宽度小于 980 像素
我有一个数组,其中包含我的 UICollectionView 显示的一些元素。然后我去获取更多元素并将其附加到我的数组中。然后我想告诉 UICollectionView 元素已添加到数据源并更新 UI
基本上第一次运行它是完美的然后第二次它崩溃了。我有一些图片显示它在哪一行代码上崩溃。该问题似乎与执行批处理有关。 代码: let ref = Database.database().referen
我正在开发带有全屏单元格的水平 UICollectionView。 单元格内部有 WKWebview,它加载下一个单元格的 url。 加载下一个网址时,将插入新单元格。 extension ViewC
后续来自: Adding HTML to JQuery Isotope additems/insertitems 我有布雷迪的: function makeDataSlide(slideId, img
我是一名优秀的程序员,十分优秀!