   }
 
   open func removeColumn(at index: Int) {
+    columns[index].gridView = nil
+    for (rowIndex, _) in grid.enumerated() {
+      let cell = grid[rowIndex][index]
+      cell._gridView = nil
+      cell._row = nil
+      cell._column = nil
+    }
+
     columns.remove(at: index)
     for (rowIndex, _) in grid.enumerated() {
       grid[rowIndex].remove(at: index)


  // MARK: Position

  open var xPlacement: GridCellXPlacement = .inherit { didSet { gridView?.updateGrid() } }

  open var yPlacement: GridCellYPlacement = .inherit { didSet { gridView?.updateGrid() } }

  //open var rowAlignment: NSGridRowAlignment

  open var customPlacementConstraints: [NSLayoutConstraint] = [] { didSet { gridView?.updateGrid() } }
}

// MARK: - GridCellXPlacement

  }

  open func removeRow(at index: Int) {
    rows[index].gridView = nil
    for cell in grid[index] {
      cell._gridView = nil
      cell._row = nil
      cell._column = nil
    }

    rows.remove(at: index)
    grid.remove(at: index)

