当在UICollectionViewCell:中编辑文本视图时,我正在尝试更新领域对象
var realm = try? Realm()
...
extension ItemCell: UITextViewDelegate {
func textViewDidChange(_ textView: UITextView) {
try? self.realm?.write({
self.item?.string = textView.text
})
}
}
但每次我输入一个字符时,键盘都会被忽略(只有当我试图写入我的领域对象时才会发生这种情况(
这是一个简单的错误,我正在观察变化并重新加载单元格:
func observeChanges() {
let results = list.listItems
notificationToken = results.observe { [weak self] (changes: RealmCollectionChange) in
switch changes {
case .initial:
self?.collectionView.reloadData()
case .update(_, let deletions, let insertions, let modifications):
self?.collectionView.performBatchUpdates({
self?.collectionView.deleteItems(at: deletions.map({ IndexPath(row: $0, section: 0)}))
self?.collectionView.insertItems(at: insertions.map({ IndexPath(row: $0, section: 0) }))
self?.collectionView.reloadItems(at: modifications.map({ IndexPath(row: $0, section: 0) }))
}, completion: { finished in
// ...
})
case .error(let error):
fatalError("(error)")
}
}
}
我刚刚删除了行的重新加载项目