Как отсортировать ячейку таблицы по кнопке - PullRequest
0 голосов
/ 21 марта 2019

Я хочу отсортировать табличные ячейки, нажав кнопку.То, что у меня есть сейчас, сейчас не работает.Нет никакого эффекта, когда я нажимаю кнопку.Я просто хочу, когда пользователь нажимает func sortA, просмотр таблицы следует алгоритму сортировки.При запуске этого кода я не обнаружил ошибок.

var itemName2 : [NSManagedObject] = []


    @objc func sortA(sender: UIButton){
    let appD = UIApplication.shared.delegate as! AppDelegate

    let context = appD.persistentContainer.viewContext
    //check with Golf App
    let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Data")
    fetchRequest.sortDescriptors = [NSSortDescriptor(key: "hits", ascending: true),NSSortDescriptor(key: "atBATS", ascending: true)]


    do {
        itemName2 = try context.fetch(fetchRequest)



        self.theScores.reloadData()
    }catch {
        print("Ashley Tisdale")
    }
}




    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let title = itemName[indexPath.row]
    let cell = theScores.dequeueReusableCell(withIdentifier: "MyCell", for : indexPath)
    cell.textLabel!.numberOfLines = 2
    cell.selectionStyle = .default
    cell.textLabel?.textAlignment = .center

    cell.layoutMargins = UIEdgeInsets.zero




    cell.preservesSuperviewLayoutMargins = false
    cell.separatorInset = UIEdgeInsets.zero
    cell.layoutMargins = UIEdgeInsets.zero


        let attr1 = title.value(forKey: "a") as? String
        let attr2 = title.value(forKey: "b") as? String


        let text = ["      ",attr2," : ", attr1].compactMap { $0 }.reduce("", +)


        cell.textLabel?.text = "Game \(indexPath.row+1) \(text)"




    return cell

}

  override func viewDidLoad() {
    super.viewDidLoad()
  sort.addTarget(self, action:#selector(sortA), for: .touchDown)
}
...