как спрятать один элемент массива данных ядра в ячейке таблицы просмотра Swift 5 - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь скрыть атрибут массива основных данных.Есть 5 основных атрибутов данных, и я хочу показать только 4 из них.Когда пользователь нажимает кнопку.Ниже мой код в контроллере представления.Мой код загружается и работает, просто я не знаю, как это сделать.Когда пользователь нажимает кнопку для функции, я хочу скрыть атрибут cat из всех ячеек таблицы.

   class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
 var itemName : [NSManagedObject] = []
func enterData() {

    let appDeldeaget = UIApplication.shared.delegate as! AppDelegate



    let context = appDeldeaget.persistentContainer.viewContext



    let entity = NSEntityDescription.entity(forEntityName: "Data", in: context)



    let theTitle = NSManagedObject(entity: entity!, insertInto: context)
    //






    theTitle.setValue(notaLabelaverage.text, forKey: "cat")
    theTitle.setValue(nameTextField.text, forKey: "age")
    theTitle.setValue(heightT.text, forKey: "hits")
    theTitle.setValue(age.text, forKey: "weight")
    theTitle.setValue(positionTextField.text, forKey: "positon")

    do {
        try context.save()
        itemName.append(theTitle)

    }
    catch {
        print("d")
    }
    self.theScores.reloadData()

    notaLabelaverage.text = ""
    notaLabelaverage.resignFirstResponder()

    nameTextField.text = ""
    nameTextField.resignFirstResponder()
    positionTextField.text = ""
    positionTextField.resignFirstResponder()
    age.text = ""
    age.resignFirstResponder()
    heightT.text = ""
    heightT.resignFirstResponder()


}




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



        let attr1 = title.value(forKey: "cat") as? String


        let attr3 = title.value(forKey: "age") as? String
        let attr4 = title.value(forKey: "weight") as? String

        let attr2 = title.value(forKey: "hits") as? String
        let attr5 = title.value(forKey: "positon") as? String

        let text = [attr1,"  Weight :",attr3,"\n","Height : ",attr2," Age : ",attr4," Position :",attr5].flatMap { $0 }.reduce("", +)
        cell.textLabel?.text = "\(text)"




    cell.textLabel?.textAlignment = .center

    cell.layoutMargins = UIEdgeInsets.zero






    return cell

}

    @objc func l1UPBTN(sender: UIButton){


    //remove cat

}
 }

enter image description here

...