2015-08-17 2 views
1

У меня есть NSTableView, который я заполняю с помощью pList. У меня есть четкая кнопка, чтобы очистить содержимое таблицы.Как очистить содержимое NSTableView и снова перезагрузить данные при нажатии кнопки в Swift

код, как показано ниже

var dataArray: NSMutableArray = []; 

    @IBAction func clearButton(sender: AnyObject) {   
     dataArray.removeAllObjects() 
     tableView.reloadData() 
    } 

Теперь это работает отлично. Но я не могу перезагрузить данные на другой щелчок кнопки. Данные очищаются и не загружаются.

ответ

1

Когда функция вызывается, вы можете проверить длину dataarray и соответственно перезагрузить данные таблицы.

@IBAction func clearButton(sender: AnyObject) { 
      if dataArray.count>0 { 
      dataArray.removeAllObjects() 
      tableView.reloadData() 
      } 
      else{ 
       // Code to insert element into dataArray 
      tableView.reloadData() 
      } 
    } 
+0

Это не работает для меня :( – AniAdhikary

+0

есть у добавил код для вставки в DataArray – Rohit

+0

Да, я добавил, что исходит от Plist. И у меня есть другая кнопка под названием Reload, которые должны перезагрузить данные, но как только я нажму кнопку «Очистить», он не будет перезагружен. – AniAdhikary

1

Я получил решение своей проблемы, вместо того, чтобы удалять все элементы, я назначил пустой массив в dataArray. Это работает.

@IBAction func clearButton(sender: AnyObject) {   
     dataArray = [] 
     tableView.reloadData() 
    } 
Смежные вопросы