J'essaie de supprimer une ligne de ma source de données et la ligne de code suivante:
if let tv = tableView {
provoque l'erreur suivante:
L'initialiseur pour la liaison conditionnelle doit avoir le type facultatif, pas UITableView
Voici le code complet:
// Override to support editing the table view.
func tableView(tableView: UITableView, commitEditingStyle editingStyle:UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
// Delete the row from the data source
if let tv = tableView {
myData.removeAtIndex(indexPath.row)
tv.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
Comment dois-je corriger ce qui suit?
if let tv = tableView {
variable with getter/setter cannot have an initial value
, qui a été résolu en supprimant simplement le bloc restant {} après l'initialisation, ala cette réponse: stackoverflow.com/a/36002958/4544328
tableView
ne s'agit pas d'une valeur optionnelle, il n'est pas nécessaire de vérifier si elle est nulle ou non. Vous pouvez donc l'utiliser directement, je veux dire supprimer celaif let
et simplement l'utilisertableView
dans la fonction