2017-06-14 5 views
1

Ich habe diese Tabellenansicht mit zwei Spalten (Vorname, zweiter Name) Ich fülle die Tabellenansicht mit Daten aus einem Array. jetzt würde ich gerne realisieren, dass ich eine "normale" Reihe (Person) und eine Reihe wie eine Kachel hinzufügen kann.nstableview Zeile als Titel hinzufügen und fortlaufende Nummer eingeben

Zum Beispiel:

Zeile 1: männlich Personen Zeile 2: Max | Mustermann Reihe 3: Peter | Dullen

für, dass ich versuchte, meine Array wie folgt zu füllen:

Data(firstName: "male persons", secondName: "", typ: "titel") 
Data(firstname: "Max", secondName: "Mustermann", typ: "person") 
Data(firstname: "Peter", secondName: "Düllen", typ: "person") 

es funktioniert, aber dann ist dies der richtige Weg, um eine Zeile wie ein Titel zu setzen?

Zweite Frage: jede Zeile sollte in einer anderen Spalte eine fortlaufende Nummer bekommen. im Moment erkannte ich das mit der Zeilennummer. Aber jetzt ist das Problem, dass die Titelzeilen keine fortlaufende Nummer bekommen sollten.

kleines Beispiel (am Ende der Linie sind die Zahlen, die ich realisieren möchte):

Data(firstName: "male persons", secondName: "", typ: "titel") [] 
Data(firstname: "Max", secondName: "Mustermann", typ: "person") [1] 
Data(firstname: "Peter", secondName: "Düllen", typ: "person") [2] 

Data(firstName: "male persons", secondName: "", typ: "titel") [] 
Data(firstname: "Max", secondName: "Mustermann", typ: "person") [3] 
Data(firstname: "Peter", secondName: "Düllen", typ: "person")[4] 

wie kann ich diese Situation lösen? Ich hoffe, Sie verstehen mein Problem.

Antwort

0

Sie können die Tabellenansicht wie gewünscht ausfüllen. Ihre Lösung wird gut funktionieren. Stellen Sie nur sicher, dass Data nicht Teil der "Modell" -Schicht Ihrer App ist. (Der "Modell" -Layer sollte nicht wissen, wie die Daten dem Benutzer angezeigt werden, daher sollte er diese Titelzeilen nicht kennen.)

Es gibt andere Möglichkeiten, dies zu tun. Zum Beispiel können Sie eine Reihe von Abschnitten haben könnten:

struct Person { 
    let firstName: String 
    let lastName: String 
} 

struct Section { 
    let title: String 
    let people: [Person] 
} 

let person1 = Person(firstName: "Max", lastName: "Mustermann") 
let person2 = Person(firstName: "Peter", lastName: "Düllen") 
let section1 = Section(title: "male persons", people: [person1, person2]) 

let person3 = Person(firstName: "Max", lastName: "Mustermann") 
let person4 = Person(firstName: "Peter", lastName: "Düllen") 
let section2 = Section(title: "male persons", people: [person3, person4]) 

var sections = [section1, section2] 

// Now implement the table view data source and 
// delegate methods to display the sections array. 

In dieser Lösung kann Person ein Teil des „Modell“ Schicht des App sein.

Verwandte Themen