@@ -163,7 +163,8 @@ final class InMemoryRowProvider: RowProvider {
163163 guard rowIndex < totalRowCount else { return }
164164 let sourceIndex = resolveSourceIndex ( rowIndex)
165165 if let bufferIdx = sourceIndex. bufferIndex {
166- safeBuffer. rows [ bufferIdx] [ columnIndex] = value
166+ guard let buffer = rowBuffer else { return }
167+ buffer. rows [ bufferIdx] [ columnIndex] = value
167168 displayCache. removeValue ( forKey: bufferIdx)
168169 } else if let appendedIdx = sourceIndex. appendedIndex {
169170 appendedRows [ appendedIdx] [ columnIndex] = value
@@ -231,7 +232,8 @@ final class InMemoryRowProvider: RowProvider {
231232
232233 /// Update rows by replacing the buffer contents and clearing appended rows
233234 func updateRows( _ newRows: [ [ String ? ] ] ) {
234- safeBuffer. rows = newRows
235+ guard let buffer = rowBuffer else { return }
236+ buffer. rows = newRows
235237 appendedRows. removeAll ( )
236238 sortIndices = nil
237239 displayCache. removeAll ( )
@@ -254,17 +256,18 @@ final class InMemoryRowProvider: RowProvider {
254256 guard appendedIdx < appendedRows. count else { return }
255257 appendedRows. remove ( at: appendedIdx)
256258 } else {
259+ guard let buffer = rowBuffer else { return }
257260 if let sorted = sortIndices {
258261 let bufferIdx = sorted [ index]
259- safeBuffer . rows. remove ( at: bufferIdx)
262+ buffer . rows. remove ( at: bufferIdx)
260263 var newIndices = sorted
261264 newIndices. remove ( at: index)
262265 for i in newIndices. indices where newIndices [ i] > bufferIdx {
263266 newIndices [ i] -= 1
264267 }
265268 sortIndices = newIndices
266269 } else {
267- safeBuffer . rows. remove ( at: index)
270+ buffer . rows. remove ( at: index)
268271 }
269272 }
270273 displayCache. removeAll ( )
0 commit comments