[Swift] Notez que TableView ne peut pas supprimer uniquement des cellules spécifiques

Ce titre

Dans le processus de création d'une certaine fonction, j'ai le début (0e) du tableau par défaut, et j'écrirai la méthode que j'ai utilisée lorsque je voulais rendre impossible la suppression de cette valeur. Le contenu est simple.

manière

seulement ça. Définissez le style d'édition de chaque cellule avec la méthode déléguée de UITableViewDelegate. Cette fois, en appuyant sur aucun pour le 0 et en appuyant sur Supprimer pour les autres, seul le 0 ne peut pas être supprimé.

func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
    indexPath.row == 0 ? .none : .delete
}

Puisque swift peut omettre return s'il n'y a qu'une seule ligne dans {}, il est préférable de l'écrire en utilisant l'opérateur ternaire. Au fait, si vous l'écrivez dans une instruction if comme celle-ci.

func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
    if indexPath.row == 0 {
        return .none
    }
    return .delete
}

c'est tout.

Recommended Posts

[Swift] Notez que TableView ne peut pas supprimer uniquement des cellules spécifiques
Notez que les propriétés système, y compris JAXBContext, ne peuvent pas être utilisées dans Java11