2017-05-08 16 views
-1

Ich habe vor kurzem ein paar Fehler behoben, die ich in diesem Code hatte, aber es tauchte ein neues auf und ich und mein Lehrer konnten es nicht beheben. Er sagt "erwartete Erklärung" Wie behebe ich das?Zeile in einer Tabellenansicht löschen

import UIKit 

    class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 

     var StoredValues = Values() 
     override func viewDidLoad() { 
      super.viewDidLoad() 
     } 
     override func didReceiveMemoryWarning() { 
      super.didReceiveMemoryWarning() 
     } 

     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
      return UITableViewCell() 
     } 

     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
      return 4 
     } 
     func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
      self.performSegue(withIdentifier: "meunSegue", sender: self) 

      func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
       _ = segue.destination as! SecondViewController 
      } 
      class SecondViewController: UIViewController { 

       var recievedData = "" 
       override func viewDidLoad() { 
        super.viewDidLoad() 
        print(recievedData) 
       } 
      } 
     } 
     - (void)tableView:(UITableView *)tableView committEditStyle: (UITableViewCellEditingStyle)editingStyle forRowAtIndexPath: (NSIndexPath *)indexPath {if (editingStyle == UITableViewCellEditingStyleDelete) { 
     [maTheData removeObjectAtIndex: [indexPath row]]; 
     [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; 


     } 
    } 
+1

Suchen Sie nach einem anderen Lehrer, der zumindest Grundkenntnisse besitzt. Sie verschachteln Delegatmethoden und sogar Klassendeklarationen. – vadian

Antwort

1

Sie versuchen, Objekt-C und Swift in derselben Datei zu mischen. Unten wäre die Swift 3-Version Ihres Codes.

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) { 
    if editingStyle == .delete { 
     maTheData.remove(at: indexPath.row) 
     tableView.deleteRows(at: [indexPath], with: .fade) 
    } 
} 
+0

@vadian Es wird kompiliert, wenn Sie 'var maTheData hinzufügen: [NSManagedObject] = []' Dies war nur, um ihnen die Swift-Version des Codes zu zeigen, den sie als Objective-C in der Swift-Datei hatten. – MwcsMac

+0

@vadian Es wird für mich kompilieren, auf welche Weise es nur nicht die Löschfunktion zeigen wird, aber Sie sind richtig es sollte commit werden. – MwcsMac

Verwandte Themen