2016-11-20 2 views
-1

У меня есть простой массив names в tableView и я хотел бы отсортировать tableView от A-Z, когда я прижмет выделенный button.Как сортировать Tableview от A-Z стремительной 2,3

TableViewController.Swift:

import UIKit 

class BarsViewController: UITableViewController,UISearchResultsUpdating,UISearchBarDelegate,UISearchDisplayDelegate{ 

@IBOutlet var tableViewController: UITableView! 

// MARK : Data 

var names = ["Shalvata", 
      "Markid", 
      "Litzman Bar", 
      "The Cat & The Dog", 
      "Light house"] 

И это выглядит следующим образом:

Image

Я хотел бы реализовать button, что когда-то нажал names Array в tableView будут отсортированы от AZ &, когда я снова нажму, он вернется к порядку по умолчанию.

Спасибо

+1

Вы будете сортировать свой источник данных, массив и перезагрузить таблицу. –

ответ

1

Вы должны сначала создать переменную класса, чтобы указать, сортированные или еще нет. затем создать отсортированный массив

// this is class variable 
var isSorted = false 
let names = ["Shalvata", 
     "Markid", 
     "Litzman Bar", 
     "The Cat & The Dog", 
     "Light house"] 

var sortedNames = [String]() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    sortedNames = names.sort() 

    // your other lines of codes 

} 

Затем в функции, если нажата кнопка обновления этой sorted переменной для возврата сортировки в Tableview cellForRow метода

if isSorted { 
    // use the sortedNames here 
} 
else { 
    // use normal names array 
} 

Вашей кнопка Функция Действие будет выглядеть следующим образом.

func onClickButton() { 
    isSorted = !isSorted // change value of isSorted either to false or true depends on last updated value 
    tableView.reloadData() 
} 
+0

Я получаю Эта ошибка: «Имена членов экземпляра» не могут использоваться для типа TableViewController'' –

+0

@NewbieQuestions Я обновил переменную класса. это должно решить эту ошибку. сортировка должна быть сделана в viewdidload – xmhafiz

+0

Теперь я получаю эту ошибку: 'Отсутствует аргумент для параметра # 1 в вызове –

Смежные вопросы