Wie man Daten über mehrere segue geben

 

Dieses Tutorial ist für X-Code aktualisiert 7.3 & schnell 2.2

Dies wird am häufigsten verwendet, wenn Sie Einzelteil oder Zeile in den UITableView haben. Manchmal muss man einfach hinzuzufügen einzelnen String-Eingang, um neue Zeile oder manchmal Sie mehrere Objekte, um den Tableview Zeile hinzufügen müssen. In der heutigen Tutorial werde ich sowohl zur Deckung mit Beispiel für Einkaufsliste app.

  1. Zunächst lässt sich die x-Code-Projekt wie gewohnt eingestellt. Erstellen Sie neue einheitliche Sicht Anwendung X-Code-Projekt. Stellen Sie Projektnamen zu Grocery List Demo & speichern Sie sie auf dem Desktop.

neue x-Code-Projekt

 

2. Zum Hauptstoryboard & Wählen Sie View-Controller & löschen. Hinzufügen Tableview Controller in Hauptstoryboard.

table-View-Controller

 

3. Wählen Sie Tableview Controller & machen erste View-Controller

Legt das erste View-Controller

 

4. Wählen Sie Prototyp-Zelle & legen Sie seine Kennung, Tablecell

 

 

Prototyp Zellenkennung

5. Löschen Sie nun View-Controller schnellen Datei & Hinzufügen neuer Kakao Touch-Klassendatei der Klasse UITableViewController

neue Tabelle View-Controller-swift-Datei

 

6. Zum Hauptstoryboard; Auswahltabelle View-Controller & Set seiner Klasse GroceryListTableViewController

Set benutzerdefinierte Klasse

 

7. Zum Einkaufsliste Tabelle View-Controller-swift-Datei & erstellen Array Einkaufsliste speichern

class GroceryListTableViewController: UITableViewController {
      var groceryList = [String]()

8. Stellen mehrere Abschnitte zu 1 & Anzahl der Zeilen pro Abschnitt groceryList.count

// MARK: - Table view data source

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    // #warning Potentially incomplete method implementation.
    // Return the number of sections.
    return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete method implementation.
    // Return the number of rows in the section.
    return groceryList.count
}

9. Kommentar- Zelle für Zeile an der Indexpfad & fügen Sie folgenden Code zum Anzeigen der Liste

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("tableCell", forIndexPath: indexPath)

    // Configure the cell...
    cell.textLabel?.text = groceryList[indexPath.row]

    return cell
}

10. Zum Hauptstoryboard; Auswahltabelle View-Controller & Klicken Sie auf Editor -> einbetten in -> Navigation Controller & setzen Sie den Titel Einkaufsliste

Set Navigations Titel

 

11. In bar Schaltfläche Artikel & legen Sie seine Kennung, Hinzufügen

hinzufügen bar Taste Artikel

 

12. Einen weiteren hinzufügen Tableview Controller Storyboard

fügen Sie eine weitere Tableview Controller

 

13. Wählen Sie neue Tabelle View-Controller & Klicken Sie auf Editor -> einbetten in -> Navigation Controller & setzen Sie den Titel Füge neuen Gegenstand hinzu

hinzufügen Navigation-Controller

 

14. In einer Bar-Taste Element auf beiden Seiten des Titel & setzen ihren Namen Speichern & Stornieren

fügen Sie zwei Bar-Taste Artikel

 

15. Wählen Sie nun den Tableview & setzen ihren Inhalt Statische Zellen, seine Abschnitte 1 & Stil gruppiert

set statische Zellen

 

16. Set Zeilen 1 & Kopfzeile Artikelname

set section header

 

17. In Textfeld an der Reihe

hinzufügen Textfeld

 

18. Wählen Sie Textfeld und legen Sie die Schriftgröße System 17 & seine Grenze zu Keine Grenze

Set Schriftart für Textfeld

 

19. Connect-Add-Bar-Taste, um neue Navigationssteuerung über modale segue

Kapital Satz segue

20. Erstellen Sie neue Cocoa Touch-Klassendatei der Klasse UITableViewController

fügen Sie neue Tableview Controller

 

21. Zum Hauptstoryboard; Auswahltabelle View-Controller & Set seiner Klasse NewItemTableViewController

Set benutzerdefinierte Klasse

 

22. Erstellen Sie eine Variable, um neue Lebensmitteleinzelteilnamen speichern

class NewItemTableViewController: UITableViewController {
        var itemName: String?

23. Kommentieren Sie Anzahl von Schnittverfahren & Anzahl der Zeilen pro Schnittverfahren

/*
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    // #warning Potentially incomplete method implementation.
    // Return the number of sections.
    return 0
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete method implementation.
    // Return the number of rows in the section.
    return 0
}
*/

24. Verbinden Sie itemNameTextField als Ausgang zum schnellen Datei

Textfeld zu schnellen Datei

 

25. Tat wählen Zeile an der Indexpfad Methode zum Starten der Eingabe in Textfeld, wenn irgendwo in der Zeile abgegriffen

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    if indexPath.section == 0 && indexPath.row == 0 {
        itemNameTextField.becomeFirstResponder()
    }
    tableView.deselectRowAtIndexPath(indexPath, animated: true)
}

26. Zum Einkaufsliste Tabelle View-Controller schnelle Datei und fügen Sie folgenden Methoden für abzubrechen unwind Segue & sparen unwind Segue

@IBAction func cancelToGroceryList (segue:UIStoryboardSegue) {

}

@IBAction func saveToGroceryList (segue: UIStoryboardSegue) {

}

27. Zum Hauptstoryboard und erstellen unwind Segue Abbrechen & sparen unwind Segue

set Abroller segue

28. Set speichern Einkaufsliste unwind Segue Kennung, Saveitems

speichern Abroller segue Kennung

 

29. ABBRUCH, um Einkaufsliste entspannen segue Kennung, CancelToList

Abbrechen Abroller segue Kennung

 

30. Kommentarzeichen für segue in NewItemTableViewController vorzubereiten & Textfeld hinzufügen, Text, um neues Element

// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "SaveItem" {
        itemName = itemNameTextField.text
    }
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}

31. Zum Einkaufsliste-Tabelle Ansicht-Controller, und fügen Sie diese Zeichenfolge zur Liste Array & Aktualisierungstabelle

@IBAction func saveToGroceryList (segue: UIStoryboardSegue) {

    let newItemViewController = segue.sourceViewController as! NewItemTableViewController

    let name = newItemViewController.itemName

    if name == "" {

    }
    else {
        groceryList.append(name!)

        let indexToInsert = groceryList.count == 0 ? 0 : groceryList.count - 1

        let indexPath = NSIndexPath(forRow: indexToInsert, inSection: 0)

        tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic)
    }

}

Hier kurzer Hand für if else-Schleife wird zur Berechnung des Index einfügen.
32. Jetzt erstellen und auszuführen App in iPhone 5s Hinzufügen neuer Artikel in den Einkaufsliste.

Pass-Daten über segue
Download von X-Code-Datei
Herausforderung 1: Kategorie hinzufügen Liste Einkaufsliste

Herausforderung 1 Lösung

Herausforderung 2: Neue Kategorie zur Kategorie-Liste

Herausforderung 2 Lösung
Herunterladen Herausforderung Lösung

Gesamt 5 Stimmen
0

Sagen Sie uns, wie kann ich dieses Tutorial verbessern?

+ = Stellen Sie sicher, Mensch oder Spambot ?