2017-02-01 2 views
0

Hallo zusammen habe ich diesen Code als Beispiel zu bekommen:Wie strukturierte Daten in einem Array in Swift 3

struct myData{ 
var payments: Int! 
var paymentDate : String! 
var itemNumber : String! 
       } 

var myDataArray = [myData(payments:100, paymentDate: "10/10/2010", itemNumber: "1001"), 
       myData(payments:200, paymentDate: "10/10/2010", itemNumber: "1002"), 
       myData(payments:500, paymentDate: "10/10/2010", itemNumber: "2001"), 
       myData(payments:400, paymentDate: "10/10/2010", itemNumber: "3210"), 
       myData(payments:150, paymentDate: "10/10/2010", itemNumber: "1234"),] 

, was ich frage, wie kann ich die Ergebnisse für ein bestimmtes Objekt für diese Struktur Daten erhalten . Wenn ich zum Beispiel möchte führen alle Zahlungen drucken oder zu bestimmten IndexPath

wirklich habe ich versucht, hart und ich suchte hart, aber ohne klare Antworten

+0

Sie können einen bestimmten Druck ausführen: myDataArrat [0] und Sie werden Ihren ersten Wert drucken. Wenn Sie alle drucken möchten, können Sie eine foreach-Schleife erstellen. –

Antwort

2

Wenn Sie nur die Daten drucken, siehe PEEJWEEJ Antwort. Wenn Sie ein Array von wollen, sagen wir, alle payments Eigenschaften der einzelnen Array-Einträge, Verwendung

myDataArray.map { $0.payments } 

, die im Wesentlichen bedeutet ‚durch jedes Element von myDataArray gehen, führen element.payments auf jedes dieser Elemente, dann ein Array bauen mit den Ergebnissen '.

Übrigens scheint es, als ob Ihre Eigenschaften immer verfügbar sind, d. H. Nie nil. In diesem Fall brauchen Sie keine ! am Ende der Erklärung hinzuzufügen, so

struct MyData { 
    let payments: Int 
    let paymentDate: String 
    let itemNumber: String 
} 

ausreichend.

1

print(myDataArray[0].payments) würde das erste Element der Zahlungen drucken. (So ​​100)

Wenn Sie alle von ihnen drucken möchten, könnten Sie eine Schleife durch sie etwa so: myDataArray.forEach { print($0.payments) }

+0

Danke für dich Hilfe Kumpel – ammoriz