2

私はIOS開発をしましたが、OSXは初めてです。テーブルの行のボタンをクリックして NStableView の行を正常に削除するという問題に直面していますが、追加ボタンをクリックすると、削除された行が再び表示され、削除されません。ここに私の削除機能があります

   func delIssue(_ sender:NSButton)
{
  let btn = sender
  if btn.tag >= 0
  {
    let issueValue = issueKeys[btn.tag]
    for index in 0..<issueName.count
    {
      if issueValue == issueName[index]
      {
        issueName.remove(at: index)

        rowCount = rowCount - 1
        self.tableView.removeRows(at: NSIndexSet.init(index: index) as IndexSet , withAnimation: .effectFade)
        self.tableView.reloadData()
        break
      }
    }
  }
}

rowCount は基本的に変数であり、行が追加されるとインクリメントされ、行が削除されるとそれぞれデクリメントされます。私の追加行関数は

    @IBAction func addRow(_ sender: Any)
  {
    rowCount += 1
    DispatchQueue.main.async
    {
      self.tableView.reloadData()
    }
  }

そしてデータソースは

  func numberOfRows(in tableView: NSTableView) -> Int
{
  return rowCount
}
4

2 に答える 2