Ich versuche, eine Zeile aus meiner Datenquelle und der folgenden Codezeile zu löschen:
if let tv = tableView {
verursacht folgenden Fehler:
Der Initialisierer für die bedingte Bindung muss den optionalen Typ und nicht UITableView haben
Hier ist der vollständige Code:
// 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)
Wie soll ich Folgendes korrigieren?
if let tv = tableView {
variable with getter/setter cannot have an initial value
, die durch einfaches Entfernen des übriggebliebenen {} Block nach der Initialisierung gelöst wurde, ala diese Antwort: stackoverflow.com/a/36002958/4544328
tableView
es sich nicht um einen optionalen Wert handelt, muss nicht überprüft werden, ob er Null ist oder nicht. Sie können es also direkt verwenden, ich meine, entfernen Sie esif let
und verwenden Sie es einfachtableView
in der Funktion