2017-02-01 1 views
0

Привет там я сделал этот код, например:Как получить структурированные данные в массиве в 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"),] 

Что я спрашиваю о том, как я мог бы получить результаты для конкретного объекта для этой структуры данных , например, если я хочу, чтобы напечатать все платежи приводят или конкретные IndexPath

на самом деле я очень старался, и я искал трудно, но без каких-либо четких ответов

+0

Yo напечатайте конкретную информацию: myDataArrat [0], и вы напечатаете свое первое значение. Я хочу напечатать их все, вы можете сделать цикл foreach. –

ответ

2

Если вы хотите, чтобы напечатать данные, см ответ PEEJWEEJ в. Если вы хотите массив, скажем, все payments свойства отдельных элементов массива, использования

myDataArray.map { $0.payments } 

, который по существу означает «пройти через каждый элемент myDataArray, выполнить element.payments на каждом из этих элементов, а затем построить массив с результатами ».

Кстати, кажется, что ваши свойства всегда доступны, т. Е. Никогда не nil. В этом случае вам не нужно, чтобы добавить ! в конце объявления, так

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

будет вполне достаточно.

1

print(myDataArray[0].payments) напечатает платежи первого элемента. (Так 100)

Если вы хотите напечатать все из них, вы могли бы цикл через него, как так: myDataArray.forEach { print($0.payments) }

+0

Спасибо, что помогли чуваку – ammoriz